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