/** * Create cache manager with custom idle time. * * @param idleTime idle time in seconds * @return cache manager */ public static EmbeddedCacheManager create(long idleTime) { Configuration configuration = new ConfigurationBuilder() .expiration().maxIdle(idleTime, TimeUnit.SECONDS) .build(); return new DefaultCacheManager(configuration); }
public void testWakeupInterval() { ExpirationManagerImpl em = new ExpirationManagerImpl(); Configuration cfg = getCfg().expiration().wakeUpInterval(789L).build(); ScheduledExecutorService mockService = mock(ScheduledExecutorService.class); em.initialize(mockService, "", cfg); ScheduledFuture mockFuture = mock(ScheduledFuture.class); when(mockService.scheduleWithFixedDelay(isA(ExpirationManagerImpl.ScheduledTask.class), eq(789l), eq(789l), eq(TimeUnit.MILLISECONDS))) .thenReturn(mockFuture); em.start(); assertEquals(mockFuture, em.expirationTask); verify(mockService).scheduleWithFixedDelay(any(Runnable.class), anyLong(), anyLong(), any(TimeUnit.class)); // expect that the executor was never used!! } }
/** * Overrides the default embedded cache manager. */ @Produces @ApplicationScoped @SuppressWarnings("unused") public EmbeddedCacheManager defaultCacheManager() throws IOException { EmbeddedCacheManager externalCacheContainerManager = TestCacheManagerFactory.fromXml("infinispan.xml"); externalCacheContainerManager.defineConfiguration("quick-very-large", new ConfigurationBuilder() .read(externalCacheContainerManager.getDefaultCacheConfiguration()) .expiration().wakeUpInterval(1l) .build()); return externalCacheContainerManager; }
public void testNoExpirationThread() { ExpirationManagerImpl em = new ExpirationManagerImpl(); Configuration cfg = getCfg().expiration().wakeUpInterval(0L).build(); ScheduledExecutorService mockService = mock(ScheduledExecutorService.class); em.initialize(mockService, "", cfg); em.start(); assertNull("Expiration task is not null! Should not have scheduled anything!", em.expirationTask); }
/** * Overrides the default embedded cache manager. */ @Produces @ApplicationScoped @SuppressWarnings("unused") public EmbeddedCacheManager defaultCacheManager() throws IOException { EmbeddedCacheManager externalCacheContainerManager = TestCacheManagerFactory.fromXml("infinispan.xml"); externalCacheContainerManager.defineConfiguration("quick-very-large", new ConfigurationBuilder() .read(externalCacheContainerManager.getDefaultCacheConfiguration()) .expiration().wakeUpInterval(1l) .build()); return externalCacheContainerManager; }
/** * Build a local cache configuration. * <p/> * In local cache mode, the cache is not shared among the servers in a cluster. Each machine keeps a local cache. * This allows quick startups and eliminates network traffic in the cluster, but subsequent requests to different * cluster members cannot benefit from the cached data. */ protected void buildLocalConfiguration() { GlobalConfiguration globalConfiguration = new GlobalConfigurationBuilder() .classLoader(InfinispanEmbeddedCacheManager.class.getClassLoader()) .globalJmxStatistics() .jmxDomain("org.apache.marmotta.kiwi") .allowDuplicateDomains(true) .build(); defaultConfiguration = new ConfigurationBuilder() .clustering() .cacheMode(CacheMode.LOCAL) .eviction() .strategy(EvictionStrategy.LIRS) .maxEntries(100000) .expiration() .lifespan(5, TimeUnit.MINUTES) .maxIdle(1, TimeUnit.MINUTES) .build(); cacheManager = new DefaultCacheManager(globalConfiguration, defaultConfiguration, true); log.info("initialised Infinispan local cache manager"); }
/** * Create a non-clustered instance of the infinispan cache. */ public LDCachingInfinispanBackend() { globalConfiguration = new GlobalConfigurationBuilder() .classLoader(LDCachingInfinispanBackend.class.getClassLoader()) .globalJmxStatistics() .jmxDomain("org.apache.marmotta.ldcache") .allowDuplicateDomains(true) .build(); defaultConfiguration = new ConfigurationBuilder() .clustering() .cacheMode(CacheMode.LOCAL) .eviction() .strategy(EvictionStrategy.LIRS) .maxEntries(100000) .expiration() .lifespan(7, TimeUnit.DAYS) .maxIdle(1, TimeUnit.DAYS) .build(); clustered = false; }
.lifespan(30, TimeUnit.MINUTES) .maxIdle(10, TimeUnit.MINUTES) .build(); cacheManager = new DefaultCacheManager(globalConfiguration, defaultConfiguration, true);
@Override protected EmbeddedCacheManager createCacheManager() throws Exception { ConfigurationBuilder cfg = new ConfigurationBuilder(); cfg.memory().size(MAX_CACHE_ELEMENTS) .expiration().wakeUpInterval(3000L) .build(); EmbeddedCacheManager cm = TestCacheManagerFactory.createCacheManager(cfg); cache = cm.getCache(); return cm; }
/** * Overrides the default embedded cache manager to define the quick and large cache configurations externally. */ @Produces @ApplicationScoped @SuppressWarnings("unused") public EmbeddedCacheManager defaultCacheManager() { EmbeddedCacheManager externalCacheContainerManager = TestCacheManagerFactory.createCacheManager(false); // define large configuration externalCacheContainerManager.defineConfiguration("large", new ConfigurationBuilder() .eviction().maxEntries(100) .build()); // define quick configuration externalCacheContainerManager.defineConfiguration("quick", new ConfigurationBuilder() .expiration().wakeUpInterval(1l) .build()); return externalCacheContainerManager; }
/** * Overrides the default embedded cache manager to define the quick and large cache configurations externally. */ @Produces @ApplicationScoped @SuppressWarnings("unused") public EmbeddedCacheManager defaultCacheManager() { EmbeddedCacheManager externalCacheContainerManager = TestCacheManagerFactory.createCacheManager(false); // define large configuration externalCacheContainerManager.defineConfiguration("large", new ConfigurationBuilder() .memory().size(100) .build()); // define quick configuration externalCacheContainerManager.defineConfiguration("quick", new ConfigurationBuilder() .expiration().wakeUpInterval(1l) .build()); return externalCacheContainerManager; }
/** * Return the node id -> node cache from the cache manager. This cache is heavily used to lookup * nodes when querying or loading triples and should therefore have a decent size (default 500.000 elements). * * @return an EHCache Cache instance containing the node id -> node mappings */ public Map getNodeCache() { if(nodeCache == null) { Configuration nodeConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .eviction() .maxEntries(1000000) .expiration() .lifespan(60, TimeUnit.MINUTES) .maxIdle(30, TimeUnit.MINUTES) .build(); cacheManager.defineConfiguration(NODE_CACHE, nodeConfiguration); nodeCache = new AsyncMap(cacheManager.getCache(NODE_CACHE).getAdvancedCache().withFlags(Flag.SKIP_LOCKING, Flag.SKIP_CACHE_LOAD, Flag.SKIP_REMOTE_LOOKUP)); } return nodeCache; }
/** * Return the prefix -> namespace cache from the cache manager. Used for looking up namespaces * @return */ public Map getNamespacePrefixCache() { if(nsPrefixCache == null) { if(isClustered()) { Configuration nsprefixConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .clustering() .cacheMode(CacheMode.REPL_ASYNC) .eviction() .maxEntries(config.getNamespaceCacheSize()) .expiration() .lifespan(1, TimeUnit.DAYS) .build(); cacheManager.defineConfiguration(NS_PREFIX_CACHE, nsprefixConfiguration); } else { Configuration nsprefixConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .eviction() .maxEntries(config.getNamespaceCacheSize()) .expiration() .lifespan(1, TimeUnit.HOURS) .build(); cacheManager.defineConfiguration(NS_PREFIX_CACHE, nsprefixConfiguration); } nsPrefixCache = cacheManager.getCache(NS_PREFIX_CACHE).getAdvancedCache().withFlags(Flag.SKIP_LOCKING, Flag.SKIP_CACHE_LOAD, Flag.SKIP_REMOTE_LOOKUP); } return nsPrefixCache; }
.lifespan(30, TimeUnit.MINUTES) .maxIdle(10, TimeUnit.MINUTES) .build(); cacheManager = new DefaultCacheManager(globalConfiguration, defaultConfiguration, true);
/** * Return the URI -> namespace cache from the cache manager. Used for looking up namespaces * @return */ public Map getNamespaceUriCache() { if(nsUriCache == null) { if(isClustered()) { Configuration nsuriConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .clustering() .cacheMode(CacheMode.REPL_ASYNC) .eviction() .maxEntries(config.getNamespaceCacheSize()) .expiration() .lifespan(1, TimeUnit.DAYS) .build(); cacheManager.defineConfiguration(NS_URI_CACHE, nsuriConfiguration); } else { Configuration nsuriConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .eviction() .maxEntries(config.getNamespaceCacheSize()) .expiration() .lifespan(1, TimeUnit.HOURS) .build(); cacheManager.defineConfiguration(NS_URI_CACHE, nsuriConfiguration); } nsUriCache = new AsyncMap(cacheManager.getCache(NS_URI_CACHE).getAdvancedCache().withFlags(Flag.SKIP_LOCKING, Flag.SKIP_CACHE_LOAD, Flag.SKIP_REMOTE_LOOKUP)); } return nsUriCache; }
.lifespan(7, TimeUnit.DAYS) .maxIdle(1, TimeUnit.DAYS) .build();
/** * Return the triple id -> triple cache from the cache manager. This cache is used for speeding up the * construction of query results. * * @return */ public Map getTripleCache() { if(tripleCache == null) { Configuration tripleConfiguration = new ConfigurationBuilder().read(defaultConfiguration) .clustering() .cacheMode(CacheMode.LOCAL) .eviction() .maxEntries(config.getTripleCacheSize()) .expiration() .lifespan(60, TimeUnit.MINUTES) .maxIdle(30, TimeUnit.MINUTES) .build(); cacheManager.defineConfiguration(TRIPLE_CACHE, tripleConfiguration); tripleCache = new AsyncMap(cacheManager.getCache(TRIPLE_CACHE).getAdvancedCache().withFlags(Flag.SKIP_LOCKING, Flag.SKIP_CACHE_LOAD, Flag.SKIP_REMOTE_LOOKUP)); } return tripleCache; }