diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java index 63c7b5caaa..5a29044e18 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java @@ -34,6 +34,7 @@ import com.google.gerrit.server.config.CanonicalWebUrlModule; import com.google.gerrit.server.config.CanonicalWebUrlProvider; import com.google.gerrit.server.config.GerritGlobalModule; import com.google.gerrit.server.config.MasterNodeStartup; +import com.google.gerrit.server.git.PushReplication; import com.google.gerrit.server.git.WorkQueue; import com.google.gerrit.server.mail.SmtpEmailSender; import com.google.gerrit.server.schema.SchemaVersionCheck; @@ -193,6 +194,7 @@ public class Daemon extends SiteProgram { modules.add(new WorkQueue.Module()); modules.add(cfgInjector.getInstance(GerritGlobalModule.class)); modules.add(new SmtpEmailSender.Module()); + modules.add(new PushReplication.Module()); if (httpd) { modules.add(new CanonicalWebUrlModule() { @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java index 1f801ea3cf..227f4a71f0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritGlobalModule.java @@ -42,9 +42,7 @@ import com.google.gerrit.server.git.ChangeMergeQueue; import com.google.gerrit.server.git.GitModule; import com.google.gerrit.server.git.MergeQueue; import com.google.gerrit.server.git.PushAllProjectsOp; -import com.google.gerrit.server.git.PushReplication; import com.google.gerrit.server.git.ReloadSubmitQueueOp; -import com.google.gerrit.server.git.ReplicationQueue; import com.google.gerrit.server.git.SecureCredentialsProvider; import com.google.gerrit.server.git.TagCache; import com.google.gerrit.server.git.TransferConfig; @@ -128,7 +126,6 @@ public class GerritGlobalModule extends FactoryModule { bind(EventFactory.class); bind(TransferConfig.class); - bind(ReplicationQueue.class).to(PushReplication.class).in(SINGLETON); factory(SecureCredentialsProvider.Factory.class); factory(PushAllProjectsOp.Factory.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/PushReplication.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/PushReplication.java index a3d327a7fd..d359a673ad 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/PushReplication.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/PushReplication.java @@ -72,6 +72,13 @@ import java.util.concurrent.TimeUnit; public class PushReplication implements ReplicationQueue { static final Logger log = LoggerFactory.getLogger(PushReplication.class); + public static class Module extends AbstractModule { + @Override + protected void configure() { + bind(ReplicationQueue.class).to(PushReplication.class); + } + } + static { // Install our own factory which always runs in batch mode, as we // have no UI available for interactive prompting. diff --git a/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java b/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java index 24e58866d0..89581a1750 100644 --- a/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java +++ b/gerrit-war/src/main/java/com/google/gerrit/httpd/WebAppInitializer.java @@ -26,6 +26,7 @@ import com.google.gerrit.server.config.GerritServerConfigModule; import com.google.gerrit.server.config.MasterNodeStartup; import com.google.gerrit.server.config.SitePath; import com.google.gerrit.server.git.LocalDiskRepositoryManager; +import com.google.gerrit.server.git.PushReplication; import com.google.gerrit.server.git.WorkQueue; import com.google.gerrit.server.mail.SmtpEmailSender; import com.google.gerrit.server.schema.DataSourceProvider; @@ -183,6 +184,7 @@ public class WebAppInitializer extends GuiceServletContextListener { modules.add(new WorkQueue.Module()); modules.add(cfgInjector.getInstance(GerritGlobalModule.class)); modules.add(new SmtpEmailSender.Module()); + modules.add(new PushReplication.Module()); modules.add(new CanonicalWebUrlModule() { @Override protected Class> provider() {