mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-01-09 09:02:10 +01:00
added injection for cachemanager
This commit is contained in:
@@ -39,11 +39,14 @@ import com.google.inject.multibindings.Multibinder;
|
||||
import com.google.inject.name.Names;
|
||||
import com.google.inject.servlet.ServletModule;
|
||||
|
||||
import net.sf.ehcache.CacheManager;
|
||||
|
||||
import sonia.scm.ConfigurationException;
|
||||
import sonia.scm.plugin.rest.PluginResource;
|
||||
import sonia.scm.plugin.rest.url.BitbucketUrlBuilder;
|
||||
import sonia.scm.plugin.rest.url.GithubUrlBuilder;
|
||||
import sonia.scm.plugin.rest.url.UrlBuilder;
|
||||
import sonia.scm.plugin.rest.url.UrlBuilderFactory;
|
||||
import sonia.scm.plugin.rest.url.GithubUrlBuilder;
|
||||
import sonia.scm.plugin.scanner.DefaultPluginScannerFactory;
|
||||
import sonia.scm.plugin.scanner.PluginScannerFactory;
|
||||
import sonia.scm.plugin.scanner.PluginScannerScheduler;
|
||||
@@ -71,6 +74,9 @@ import javax.xml.bind.JAXB;
|
||||
public class ScmBackendModule extends ServletModule
|
||||
{
|
||||
|
||||
/** Field description */
|
||||
public static final String CACHE_CONFIG = "/config/ehcache.xml";
|
||||
|
||||
/** Field description */
|
||||
public static final String DIRECTORY_DEFAULT = ".scm-backend";
|
||||
|
||||
@@ -124,6 +130,12 @@ public class ScmBackendModule extends ServletModule
|
||||
bind(PluginScannerFactory.class).to(DefaultPluginScannerFactory.class);
|
||||
bind(PluginScannerScheduler.class).to(TimerPluginScannerScheduler.class);
|
||||
|
||||
// cache manager
|
||||
CacheManager cacheManager =
|
||||
new CacheManager(PluginResource.class.getResource(CACHE_CONFIG));
|
||||
|
||||
bind(CacheManager.class).toInstance(cacheManager);
|
||||
|
||||
// compare url builder
|
||||
Multibinder<UrlBuilder> compareUrlBuilderBinder =
|
||||
Multibinder.newSetBinder(binder(), UrlBuilder.class);
|
||||
|
||||
@@ -81,9 +81,6 @@ public class PluginResource implements PluginBackendListener
|
||||
/** Field description */
|
||||
public static final String CACHE = "sonia.cache.plugin-backend";
|
||||
|
||||
/** Field description */
|
||||
public static final String CONFIG = "/config/ehcache.xml";
|
||||
|
||||
/** the logger for PluginResource */
|
||||
private static final Logger logger =
|
||||
LoggerFactory.getLogger(PluginResource.class);
|
||||
@@ -96,21 +93,19 @@ public class PluginResource implements PluginBackendListener
|
||||
*
|
||||
* @param backend
|
||||
* @param configuration
|
||||
* @param cacheManager
|
||||
*/
|
||||
@Inject
|
||||
public PluginResource(PluginBackend backend,
|
||||
BackendConfiguration configuration)
|
||||
BackendConfiguration configuration,
|
||||
CacheManager cacheManager)
|
||||
{
|
||||
this.backend = backend;
|
||||
this.configuration = configuration;
|
||||
cache = cacheManager.getCache(CACHE);
|
||||
|
||||
// added listener to clear the cache on a event
|
||||
this.backend.addListener(this);
|
||||
|
||||
CacheManager cacheManager =
|
||||
new CacheManager(PluginResource.class.getResource(CONFIG));
|
||||
|
||||
cache = cacheManager.getCache(CACHE);
|
||||
}
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user