public JCacheTemplateCache() { Iterator<CachingProvider> cachingProviders = Caching.getCachingProviders().iterator(); if (cachingProviders.hasNext()) { CachingProvider cachingProvider = cachingProviders.next(); CacheManager cacheManager = cachingProvider.getCacheManager(); Configuration<String, Template> config = new MutableConfiguration<String, Template>() .setTypes(String.class, Template.class) .setExpiryPolicyFactory(AccessedExpiryPolicy.factoryOf(new Duration(TimeUnit.MINUTES, 5))); Cache<String, Template> cache = cacheManager.getCache("TemplateCache", String.class, Template.class); if (cache == null) { this.cache = cacheManager.createCache("TemplateCache", config); } else { this.cache = cache; } } else { this.cache = null; // to keep compatibility with 0.1.0, but ugly } }
@Test public void testJCacheCachingProviders() { Iterable<CachingProvider> iterable = Caching.getCachingProviders(); int i = 0; for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); i = 0; iterable = Caching.getCachingProviders(Caching.getDefaultClassLoader()); for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); // test case added for code coverage i = 0; iterable = Caching.getCachingProviders(null); for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); }
for (CachingProvider provider : Caching.getCachingProviders()) { providers.add(provider); String providerClassName = provider.getClass().getName();