Java Code Examples for javax.cache.configuration.MutableConfiguration#setExpiryPolicyFactory()
The following examples show how to use
javax.cache.configuration.MutableConfiguration#setExpiryPolicyFactory() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SimpleEh107ConfigTest.java From ehcache3 with Apache License 2.0 | 6 votes |
@Test public void testExpiryConfiguration() { final AtomicBoolean expiryCreated = new AtomicBoolean(false); MutableConfiguration<String, String> configuration = new MutableConfiguration<>(); configuration.setTypes(String.class, String.class); configuration.setExpiryPolicyFactory(() -> { expiryCreated.set(true); return new CreatedExpiryPolicy(Duration.FIVE_MINUTES); }); Cache<String, String> cache = cacheManager.createCache("cache", configuration); cache.putIfAbsent("42", "The Answer"); cache.putIfAbsent("42", "Or not!?"); assertThat(expiryCreated.get(), is(true)); }
Example 2
Source File: CacheMBStatisticsBeanTest.java From cache2k with Apache License 2.0 | 6 votes |
@Test public void testExpiryOnCreation() throws Exception { // close cache since need to configure cache with ExpireOnCreationPolicy CacheManager mgr = cache.getCacheManager(); mgr.destroyCache(cache.getName()); MutableConfiguration<Long, String> config = new MutableConfiguration<Long, String>(); config.setStatisticsEnabled(true); config.setTypes(Long.class, String.class); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(ExpireOnCreationPolicy.class)); cache = mgr.createCache(getTestCacheName(), config); cache.put(1L, "hello"); assertEquals(0L, lookupManagementAttribute(cache, CacheStatistics, "CachePuts")); Map<Long, String> map = new HashMap<Long, String>(); map.put(2L, "goodbye"); map.put(3L, "world"); cache.putAll(map); assertEquals(0L, lookupManagementAttribute(cache, CacheStatistics, "CachePuts")); }
Example 3
Source File: JCacheStore.java From enkan with Eclipse Public License 1.0 | 5 votes |
public JCacheStore(Factory<ExpiryPolicy> expiryPolicyFactory) { CachingProvider cachingProvider = Caching.getCachingProvider(); CacheManager cacheManager = cachingProvider.getCacheManager(); MutableConfiguration<String, Serializable> config = new MutableConfiguration<String, Serializable>() .setTypes(String.class, Serializable.class); if (expiryPolicyFactory != null) { config.setExpiryPolicyFactory(expiryPolicyFactory); } cache = cacheManager.getCache("session", String.class, Serializable.class); if (cache == null) cache = cacheManager.createCache("session", config); }
Example 4
Source File: OpenJPAJCacheDataCacheManager.java From commons-jcs with Apache License 2.0 | 5 votes |
Cache<Object, Object> getOrCreateCache(final String prefix, final String entity) { final String internalName = prefix + entity; Cache<Object, Object> cache = cacheManager.getCache(internalName); if (cache == null) { final Properties properties = cacheManager.getProperties(); final MutableConfiguration<Object, Object> configuration = new MutableConfiguration<Object, Object>() .setStoreByValue("true".equalsIgnoreCase(properties.getProperty("jcache.store-by-value", "false"))); configuration.setReadThrough("true".equals(properties.getProperty("jcache.read-through", "false"))); configuration.setWriteThrough("true".equals(properties.getProperty("jcache.write-through", "false"))); if (configuration.isReadThrough()) { configuration.setCacheLoaderFactory(new FactoryBuilder.ClassFactory<CacheLoader<Object, Object>>(properties.getProperty("jcache.cache-loader-factory"))); } if (configuration.isWriteThrough()) { configuration.setCacheWriterFactory(new FactoryBuilder.ClassFactory<CacheWriter<Object, Object>>(properties.getProperty("jcache.cache-writer-factory"))); } final String expirtyPolicy = properties.getProperty("jcache.expiry-policy-factory"); if (expirtyPolicy != null) { configuration.setExpiryPolicyFactory(new FactoryBuilder.ClassFactory<ExpiryPolicy>(expirtyPolicy)); } else { configuration.setExpiryPolicyFactory(new FactoryBuilder.SingletonFactory<ExpiryPolicy>(new CreatedExpiryPolicy(Duration.FIVE_MINUTES))); } configuration.setManagementEnabled("true".equals(properties.getProperty("jcache.management-enabled", "false"))); configuration.setStatisticsEnabled("true".equals(properties.getProperty("jcache.statistics-enabled", "false"))); cache = cacheManager.createCache(internalName, configuration); } return cache; }
Example 5
Source File: JCacheTest.java From redisson with Apache License 2.0 | 5 votes |
@Test public void testExpiration() throws InterruptedException, IllegalArgumentException, URISyntaxException, FailedToStartRedisException, IOException { RedisProcess runner = new RedisRunner() .nosave() .randomDir() .port(6311) .run(); MutableConfiguration<String, String> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.SECONDS, 1))); config.setStoreByValue(true); URI configUri = getClass().getResource("redisson-jcache.json").toURI(); Cache<String, String> cache = Caching.getCachingProvider().getCacheManager(configUri, null) .createCache("test", config); CountDownLatch latch = new CountDownLatch(1); String key = "123"; ExpiredListener clientListener = new ExpiredListener(latch, key, "90"); MutableCacheEntryListenerConfiguration<String, String> listenerConfiguration = new MutableCacheEntryListenerConfiguration<String, String>(FactoryBuilder.factoryOf(clientListener), null, true, true); cache.registerCacheEntryListener(listenerConfiguration); cache.put(key, "90"); Assert.assertNotNull(cache.get(key)); latch.await(); Assert.assertNull(cache.get(key)); cache.close(); runner.stop(); }
Example 6
Source File: CacheLoaderWithExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
/** * Establish the {@link javax.cache.CacheManager} and {@link javax.cache.Cache} for a test. */ @Before public void onBeforeEachTest() throws IOException { //establish and open a CacheLoaderServer to handle cache //cache loading requests from a CacheLoaderClient cacheLoaderServer = new CacheLoaderServer<String, String>(10000); cacheLoaderServer.open(); //establish the CacheManager for the tests cacheManager = Caching.getCachingProvider().getCacheManager(); //establish a CacheLoaderClient that a Cache can use for loading entries //(via the CacheLoaderServer) CacheLoaderClient<String, String> cacheLoader = new CacheLoaderClient<>(cacheLoaderServer.getInetAddress(), cacheLoaderServer.getPort()); //establish a Cache Configuration that uses a CacheLoader, Read-Through and Expiry MutableConfiguration<String, String> configuration = new MutableConfiguration<>(); configuration.setTypes(String.class, String.class); configuration.setCacheLoaderFactory(FactoryBuilder.factoryOf(cacheLoader)); configuration.setReadThrough(true); configuration.setExpiryPolicyFactory(FactoryBuilder.factoryOf(ExpireOnAccessPolicy.class)); //configure the cache cacheManager.createCache("cache-loader-test", configuration); cache = cacheManager.getCache("cache-loader-test", String.class, String.class); }
Example 7
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void getAndRemoveShouldNotCallExpiryPolicyMethods() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); // verify case when entry is non-existent cache.containsKey(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); cache.getAndRemove(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); // verify case when entry exist cache.put(1, 1); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); int value = cache.getAndRemove(1); assertThat(value, is(1)); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); }
Example 8
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void getAllShouldCallGetExpiryForAccessedEntry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); Set<Integer> keys = new HashSet<>(); keys.add(1); keys.add(2); // when getting a non-existent entry, getExpiryForAccessedEntry is not called. cache.getAll(keys); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); cache.put(1, 1); cache.put(2, 2); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(2)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); // when getting an existing entry, getExpiryForAccessedEntry is called. cache.get(1); cache.get(2); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), greaterThanOrEqualTo(2)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); }
Example 9
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void putAllShouldCallGetExpiry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); Map<Integer, Integer> map = new HashMap<>(); map.put(1, 1); map.put(2, 2); cache.put(1, 1); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); cache.putAll(map); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), greaterThanOrEqualTo(1)); expiryPolicy.resetCount(); }
Example 10
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void invokeGetValueShouldCallGetExpiry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); final Integer key = 123; final Integer setValue = 456; // verify non-access to non-existent entry does not call getExpiryForAccessedEntry. no read-through scenario. Integer resultValue = cache.invoke(key, new GetEntryProcessor<Integer, Integer>()); assertEquals(null, resultValue); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); // verify access to existing entry. resultValue = cache.invoke(key, new SetEntryProcessor<Integer, Integer>(setValue)); assertEquals(resultValue, setValue); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); resultValue = cache.invoke(key, new GetEntryProcessor<Integer, Integer>()); assertEquals(setValue, resultValue); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); }
Example 11
Source File: TCKCacheManagerTest.java From blazingcache with Apache License 2.0 | 5 votes |
@Test public void invokeAllReadThroughEnabledGetOnNonExistentEntry() throws IOException { //establish and open a CacheLoaderServer to handle cache //cache loading requests from a CacheLoaderClient // this cacheLoader just returns the key as the value. RecordingCacheLoader<Integer> recordingCacheLoader = new RecordingCacheLoader<>(); CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicy)); config.setCacheLoaderFactory(new FactoryBuilder.SingletonFactory<>(recordingCacheLoader)); config.setReadThrough(true); Cache<Integer, Integer> cache = getCacheManager().createCache("test-1", config); final Integer INITIAL_KEY = 123; final Integer MAX_KEY_VALUE = INITIAL_KEY + 4; // set keys to read through Set<Integer> keys = new HashSet<>(); for (int key = INITIAL_KEY; key <= MAX_KEY_VALUE; key++) { keys.add(key); } // verify read-through of getValue of non-existent entries cache.invokeAll(keys, new GetEntryProcessor<Integer, Integer>()); assertTrue(expiryPolicy.getCreationCount() >= keys.size()); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); }
Example 12
Source File: TCKCacheManagerTest.java From blazingcache with Apache License 2.0 | 5 votes |
@Test public void invokeGetValueShouldCallGetExpiry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicy)); Cache<Integer, Integer> cache = getCacheManager().createCache("test-dfd", config); final Integer key = 123; final Integer setValue = 456; // verify non-access to non-existent entry does not call getExpiryForAccessedEntry. no read-through scenario. Integer resultValue = cache.invoke(key, new GetEntryProcessor<Integer, Integer>()); assertEquals(null, resultValue); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); // verify access to existing entry. resultValue = cache.invoke(key, new SetEntryProcessor<Integer, Integer>(setValue)); assertEquals(resultValue, setValue); assertTrue(expiryPolicy.getCreationCount() >= 1); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); resultValue = cache.invoke(key, new GetEntryProcessor<Integer, Integer>()); assertEquals(setValue, resultValue); assertThat(expiryPolicy.getCreationCount(), is(0)); assertTrue(expiryPolicy.getAccessCount() >= 1); assertThat(expiryPolicy.getUpdatedCount(), is(0)); }
Example 13
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void getShouldCallGetExpiryForAccessedEntry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); cache.containsKey(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); // when getting a non-existent entry, getExpiryForAccessedEntry is not called. cache.get(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); cache.put(1, 1); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); // when getting an existing entry, getExpiryForAccessedEntry is called. cache.get(1); assertThat(expiryPolicy.getCreationCount(),is(0)); assertThat(expiryPolicy.getAccessCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); }
Example 14
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void invokeMultiSetValueShouldCallGetExpiry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); final Integer key = 123; final Integer setValue = 456; final Integer modifySetValue = 789; // verify create EntryProcessor processors[] = new EntryProcessor[]{ new AssertNotPresentEntryProcessor(null), new SetEntryProcessor<Integer, Integer>(111), new SetEntryProcessor<Integer, Integer>(setValue), new GetEntryProcessor<Integer, Integer>() }; Object[] result = (Object[]) cache.invoke(key, new CombineEntryProcessor(processors)); assertEquals(result[1], 111); assertEquals(result[2], setValue); assertEquals(result[3], setValue); // expiry called should be for create, not for the get or modify. // Operations get combined in entry processor and only net result should be expiryPolicy method called. assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), greaterThanOrEqualTo(0)); assertThat(expiryPolicy.getUpdatedCount(), greaterThanOrEqualTo(0)); }
Example 15
Source File: TCKCacheManagerTest.java From blazingcache with Apache License 2.0 | 5 votes |
@Test public void containsKeyShouldNotCallExpiryPolicyMethods() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicy)); Cache<Integer, Integer> cache = getCacheManager().createCache("test", config); cache.containsKey(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); cache.put(1, 1); assertTrue(expiryPolicy.getCreationCount() >= 1); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); cache.containsKey(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); }
Example 16
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 5 votes |
@Test public void getAndPutShouldCallEitherCreatedOrModifiedExpiryPolicy() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); cache.containsKey(1); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); cache.getAndPut(1, 1); assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); cache.getAndPut(1, 2); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), greaterThanOrEqualTo(1)); expiryPolicy.resetCount(); }
Example 17
Source File: EhCache107ConfigurationIntegrationDocTest.java From ehcache3 with Apache License 2.0 | 4 votes |
@Test @SuppressWarnings("unchecked") public void testWithoutEhcacheExplicitDependencyAndNoCodeChanges() throws Exception { CacheManager manager = cachingProvider.getCacheManager( getClass().getResource("/org/ehcache/docs/ehcache-jsr107-template-override.xml").toURI(), getClass().getClassLoader()); // tag::jsr107SupplementWithTemplatesExample[] MutableConfiguration<Long, Client> mutableConfiguration = new MutableConfiguration<>(); mutableConfiguration.setTypes(Long.class, Client.class); // <1> Cache<Long, Client> anyCache = manager.createCache("anyCache", mutableConfiguration); // <2> CacheRuntimeConfiguration<Long, Client> ehcacheConfig = (CacheRuntimeConfiguration<Long, Client>)anyCache.getConfiguration( Eh107Configuration.class).unwrap(CacheRuntimeConfiguration.class); // <3> ehcacheConfig.getResourcePools().getPoolForResource(ResourceType.Core.HEAP).getSize(); // <4> Cache<Long, Client> anotherCache = manager.createCache("byRefCache", mutableConfiguration); assertFalse(anotherCache.getConfiguration(Configuration.class).isStoreByValue()); // <5> MutableConfiguration<String, Client> otherConfiguration = new MutableConfiguration<>(); otherConfiguration.setTypes(String.class, Client.class); otherConfiguration.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE)); // <6> Cache<String, Client> foosCache = manager.createCache("foos", otherConfiguration);// <7> CacheRuntimeConfiguration<Long, Client> foosEhcacheConfig = (CacheRuntimeConfiguration<Long, Client>)foosCache.getConfiguration( Eh107Configuration.class).unwrap(CacheRuntimeConfiguration.class); Client client1 = new Client("client1", 1); foosEhcacheConfig.getExpiryPolicy().getExpiryForCreation(42L, client1).toMinutes(); // <8> CompleteConfiguration<String, String> foosConfig = foosCache.getConfiguration(CompleteConfiguration.class); try { final Factory<ExpiryPolicy> expiryPolicyFactory = foosConfig.getExpiryPolicyFactory(); ExpiryPolicy expiryPolicy = expiryPolicyFactory.create(); // <9> throw new AssertionError("Expected UnsupportedOperationException"); } catch (UnsupportedOperationException e) { // Expected } // end::jsr107SupplementWithTemplatesExample[] assertThat(ehcacheConfig.getResourcePools().getPoolForResource(ResourceType.Core.HEAP).getSize(), is(20L)); assertThat(foosEhcacheConfig.getExpiryPolicy().getExpiryForCreation(42L, client1), is(java.time.Duration.ofMinutes(2))); }
Example 18
Source File: SerializableEntityCache.java From requery with Apache License 2.0 | 4 votes |
protected <K, V> void configure(MutableConfiguration<K, V> configuration) { configuration.setExpiryPolicyFactory(expiryPolicyFactory); }
Example 19
Source File: CacheExpiryTest.java From cache2k with Apache License 2.0 | 4 votes |
@Test public void invokeSetValueShouldCallGetExpiry() { CountingExpiryPolicy expiryPolicy = new CountingExpiryPolicy(); expiryPolicyServer.setExpiryPolicy(expiryPolicy); MutableConfiguration<Integer, Integer> config = new MutableConfiguration<>(); config.setExpiryPolicyFactory(FactoryBuilder.factoryOf(expiryPolicyClient)); Cache<Integer, Integer> cache = getCacheManager().createCache(getTestCacheName(), config); final Integer key = 123; final Integer setValue = 456; final Integer modifySetValue = 789; // verify create EntryProcessor processors[] = new EntryProcessor[]{ new AssertNotPresentEntryProcessor(null), new SetEntryProcessor<Integer, Integer>(setValue), new GetEntryProcessor<Integer, Integer>() }; Object[] result = (Object[]) cache.invoke(key, new CombineEntryProcessor(processors)); assertEquals(result[1], setValue); assertEquals(result[2], setValue); // expiry called should be for create, not for the get or modify. // Operations get combined in entry processor and only net result should be expiryPolicy method called. assertThat(expiryPolicy.getCreationCount(), greaterThanOrEqualTo(1)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), is(0)); expiryPolicy.resetCount(); // verify modify Integer resultValue = cache.invoke(key, new SetEntryProcessor<Integer, Integer>(modifySetValue)); assertEquals(modifySetValue, resultValue); assertThat(expiryPolicy.getCreationCount(), is(0)); assertThat(expiryPolicy.getAccessCount(), is(0)); assertThat(expiryPolicy.getUpdatedCount(), greaterThanOrEqualTo(1)); }
Example 20
Source File: JCacheFilter.java From commons-jcs with Apache License 2.0 | 4 votes |
@Override public void init(final FilterConfig filterConfig) throws ServletException { final ClassLoader classLoader = filterConfig.getServletContext().getClassLoader(); provider = Caching.getCachingProvider(classLoader); String uri = filterConfig.getInitParameter("configuration"); if (uri == null) { uri = provider.getDefaultURI().toString(); } final Properties properties = new Properties(); for (final String key : list(filterConfig.getInitParameterNames())) { final String value = filterConfig.getInitParameter(key); if (value != null) { properties.put(key, value); } } manager = provider.getCacheManager(URI.create(uri), classLoader, properties); String cacheName = filterConfig.getInitParameter("cache-name"); if (cacheName == null) { cacheName = JCacheFilter.class.getName(); } cache = manager.getCache(cacheName); if (cache == null) { final MutableConfiguration<PageKey, Page> configuration = new MutableConfiguration<PageKey, Page>() .setStoreByValue(false); configuration.setReadThrough("true".equals(properties.getProperty("read-through", "false"))); configuration.setWriteThrough("true".equals(properties.getProperty("write-through", "false"))); if (configuration.isReadThrough()) { configuration.setCacheLoaderFactory(new FactoryBuilder.ClassFactory<CacheLoader<PageKey, Page>>(properties.getProperty("cache-loader-factory"))); } if (configuration.isWriteThrough()) { configuration.setCacheWriterFactory(new FactoryBuilder.ClassFactory<CacheWriter<? super PageKey, ? super Page>>(properties.getProperty("cache-writer-factory"))); } final String expirtyPolicy = properties.getProperty("expiry-policy-factory"); if (expirtyPolicy != null) { configuration.setExpiryPolicyFactory(new FactoryBuilder.ClassFactory<ExpiryPolicy>(expirtyPolicy)); } configuration.setManagementEnabled("true".equals(properties.getProperty("management-enabled", "false"))); configuration.setStatisticsEnabled("true".equals(properties.getProperty("statistics-enabled", "false"))); cache = manager.createCache(cacheName, configuration); } }