From cf40b39a3c31493e7546a6fd5f68d15bc262ba4a Mon Sep 17 00:00:00 2001 From: Luca Milanesio Date: Thu, 16 May 2019 07:40:02 +0200 Subject: [PATCH] Fix DbInjector creation in WebAppinitializer The creation of the DbInjector under Tomcat was broken by change Ifebb7fd33 because the initial list of modules was not passed to the Guice injector. Additionally, the override needs to happen on the DbInjector and not on the cfgInjector as it was before. Bug: Issue 10858 Change-Id: I4e19a92328bdf389d1c55aa95599a50a1bf101d6 --- java/com/google/gerrit/httpd/init/WebAppInitializer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java/com/google/gerrit/httpd/init/WebAppInitializer.java b/java/com/google/gerrit/httpd/init/WebAppInitializer.java index 8c18bf8bb5..391e20f190 100644 --- a/java/com/google/gerrit/httpd/init/WebAppInitializer.java +++ b/java/com/google/gerrit/httpd/init/WebAppInitializer.java @@ -260,8 +260,7 @@ public class WebAppInitializer extends GuiceServletContextListener implements Fi Module configModule = new GerritServerConfigModule(); modules.add(configModule); modules.add(new DropWizardMetricMaker.ApiModule()); - return Guice.createInjector( - PRODUCTION, LibModuleLoader.loadModules(cfgInjector, LibModuleType.DB_MODULE)); + return Guice.createInjector(PRODUCTION, modules); } private Injector createDbInjector() { @@ -269,7 +268,9 @@ public class WebAppInitializer extends GuiceServletContextListener implements Fi modules.add(new SchemaModule()); modules.add(NoteDbSchemaVersionCheck.module()); modules.add(new AuthConfigModule()); - return cfgInjector.createChildInjector(modules); + return cfgInjector.createChildInjector( + ModuleOverloader.override( + modules, LibModuleLoader.loadModules(cfgInjector, LibModuleType.DB_MODULE))); } private Injector createSysInjector() {