From f9980ea7a6615f8bfef89fae7e6569c54bc749c3 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 03 Jul 2014 17:00:40 -0400 Subject: [PATCH] Annotate managers with @Singleton --- src/main/java/com/gitblit/guice/CoreModule.java | 29 ++++++++++++++++++----------- 1 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gitblit/guice/CoreModule.java b/src/main/java/com/gitblit/guice/CoreModule.java index 9b479c0..cc73f09 100644 --- a/src/main/java/com/gitblit/guice/CoreModule.java +++ b/src/main/java/com/gitblit/guice/CoreModule.java @@ -15,8 +15,6 @@ */ package com.gitblit.guice; -import javax.inject.Singleton; - import com.gitblit.FileSettings; import com.gitblit.GitBlit; import com.gitblit.IStoredSettings; @@ -31,18 +29,21 @@ import com.gitblit.manager.IProjectManager; import com.gitblit.manager.IRepositoryManager; import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.IServicesManager; import com.gitblit.manager.IUserManager; import com.gitblit.manager.NotificationManager; import com.gitblit.manager.PluginManager; import com.gitblit.manager.ProjectManager; import com.gitblit.manager.RepositoryManager; import com.gitblit.manager.RuntimeManager; +import com.gitblit.manager.ServicesManager; import com.gitblit.manager.UserManager; import com.gitblit.transport.ssh.FileKeyManager; import com.gitblit.transport.ssh.IPublicKeyManager; import com.gitblit.transport.ssh.MemoryKeyManager; import com.gitblit.transport.ssh.NullKeyManager; import com.gitblit.utils.StringUtils; +import com.gitblit.utils.WorkQueue; import com.google.inject.AbstractModule; import com.google.inject.Provides; @@ -59,18 +60,24 @@ bind(IStoredSettings.class).toInstance(new FileSettings()); + // bind complex providers + bind(WorkQueue.class).toProvider(WorkQueueProvider.class); + // core managers - bind(IRuntimeManager.class).to(RuntimeManager.class).in(Singleton.class); - bind(IPluginManager.class).to(PluginManager.class).in(Singleton.class); - bind(INotificationManager.class).to(NotificationManager.class).in(Singleton.class); - bind(IUserManager.class).to(UserManager.class).in(Singleton.class); - bind(IAuthenticationManager.class).to(AuthenticationManager.class).in(Singleton.class); - bind(IRepositoryManager.class).to(RepositoryManager.class).in(Singleton.class); - bind(IProjectManager.class).to(ProjectManager.class).in(Singleton.class); - bind(IFederationManager.class).to(FederationManager.class).in(Singleton.class); + bind(IRuntimeManager.class).to(RuntimeManager.class); + bind(IPluginManager.class).to(PluginManager.class); + bind(INotificationManager.class).to(NotificationManager.class); + bind(IUserManager.class).to(UserManager.class); + bind(IAuthenticationManager.class).to(AuthenticationManager.class); + bind(IRepositoryManager.class).to(RepositoryManager.class); + bind(IProjectManager.class).to(ProjectManager.class); + bind(IFederationManager.class).to(FederationManager.class); // the monolithic manager - bind(IGitblit.class).to(GitBlit.class).in(Singleton.class); + bind(IGitblit.class).to(GitBlit.class); + + // manager for long-running daemons and services + bind(IServicesManager.class).to(ServicesManager.class); } @Provides -- Gitblit v1.9.1