public MetacardJCacheManager() { LOGGER.debug( "Creating a new JCacheManager for caching Metacards" ); Caching.setDefaultClassLoader( JCache.class.getClassLoader() ); cachingProvider = Caching.getCachingProvider(); cacheManager = cachingProvider.getCacheManager( URI.create( "ecdr-jcache-cache-manager" ), getClass().getClassLoader(), getConfigProperties() ); }
@Test public void testJCacheCachingProvider() { ClassLoader uniqueClassLoader = new MyClassLoader(Thread.currentThread().getContextClassLoader()); Caching.setDefaultClassLoader(uniqueClassLoader); try { CachingProvider defaultProvider = Caching.getCachingProvider(); CachingProvider alternativeProvider = Caching.getCachingProvider("javax.cache.CachingTest$AlternativeCachingProviderImpl", null); assertNotEquals(defaultProvider, alternativeProvider); assertEquals(AlternativeCachingProviderImpl.class, alternativeProvider.getClass()); } finally { Caching.setDefaultClassLoader(null); } }
@Test public void testSetDefaultClassLoader() { ClassLoader defaultClassLoader = Caching.getDefaultClassLoader(); ClassLoader uniqueClassLoader = new MyClassLoader(Thread.currentThread().getContextClassLoader()); Caching.setDefaultClassLoader(uniqueClassLoader); assertEquals(uniqueClassLoader, Caching.getDefaultClassLoader()); Caching.setDefaultClassLoader(null); assertEquals(defaultClassLoader, Caching.getDefaultClassLoader()); }