static void throwUnchecked(Throwable e) { AnyThrow.<RuntimeException>throwAny(e); }
@Bean(name = CacheManagementConfigUtils.JCACHE_ASPECT_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public JCacheCacheAspect cacheAspect() { JCacheCacheAspect cacheAspect = JCacheCacheAspect.aspectOf(); cacheAspect.setCacheOperationSource(cacheOperationSource()); return cacheAspect; }
@Override public CacheManager cacheManager() { return cm1(); }
@Bean(name = CacheManagementConfigUtils.CACHE_ASPECT_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public AnnotationCacheAspect cacheAspect() { AnnotationCacheAspect cacheAspect = AnnotationCacheAspect.aspectOf(); cacheAspect.configure(this.errorHandler, this.keyGenerator, this.cacheResolver, this.cacheManager); return cacheAspect; }
@Test public void bothSetOnlyResolverIsUsed() { load(FullCachingConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertSame(this.ctx.getBean("cacheResolver"), aspect.getCacheResolver()); assertSame(this.ctx.getBean("keyGenerator"), aspect.getKeyGenerator()); }
@Test public void testKeyStrategy() { load(EnableCachingConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertSame(this.ctx.getBean("keyGenerator", KeyGenerator.class), aspect.getKeyGenerator()); }
@Test public void testCacheErrorHandler() { load(EnableCachingConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertSame(this.ctx.getBean("errorHandler", CacheErrorHandler.class), aspect.getErrorHandler()); }
@Test @Ignore("AspectJ has some sort of caching that makes this one fail") public void emptyConfigSupport() { load(EmptyConfigSupportConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertNotNull(aspect.getCacheResolver()); assertEquals(SimpleCacheResolver.class, aspect.getCacheResolver().getClass()); assertSame(this.ctx.getBean(CacheManager.class), ((SimpleCacheResolver) aspect.getCacheResolver()).getCacheManager()); }
@Test public void multipleCacheManagerBeans_implementsCachingConfigurer() { load(MultiCacheManagerConfigurer.class); // does not throw }
@Bean public AnnotatedJCacheableService cacheableService() { return new AnnotatedJCacheableService(defaultCache()); }
@Override @Bean public CacheResolver cacheResolver() { return new NamedCacheResolver(cacheManager(), "foo"); } }
@Test public void testKeyStrategy() throws Exception { AnnotationCacheAspect aspect = ctx.getBean( "org.springframework.cache.config.internalCacheAspect", AnnotationCacheAspect.class); Assert.assertSame(ctx.getBean("keyGenerator"), aspect.getKeyGenerator()); }
@Bean(name = CacheManagementConfigUtils.JCACHE_ASPECT_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public JCacheCacheAspect cacheAspect() { JCacheCacheAspect cacheAspect = JCacheCacheAspect.aspectOf(); cacheAspect.setCacheOperationSource(cacheOperationSource()); return cacheAspect; }
@Bean(name = CacheManagementConfigUtils.CACHE_ASPECT_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public AnnotationCacheAspect cacheAspect() { AnnotationCacheAspect cacheAspect = AnnotationCacheAspect.aspectOf(); cacheAspect.configure(this.errorHandler, this.keyGenerator, this.cacheResolver, this.cacheManager); return cacheAspect; }
static void throwUnchecked(Throwable e) { AnyThrow.<RuntimeException>throwAny(e); }
@Test public void singleCacheManagerBean() { load(SingleCacheManagerConfig.class); }
@Bean public CacheManager cacheManager() { SimpleCacheManager cm = new SimpleCacheManager(); cm.setCaches(Arrays.asList( defaultCache(), new ConcurrentMapCache("primary"), new ConcurrentMapCache("secondary"), new ConcurrentMapCache("exception"))); return cm; }
@Test public void multipleCacheManagerBeans() { try { load(MultiCacheManagerConfig.class); } catch (IllegalStateException ex) { assertTrue(ex.getMessage().contains("bean of type CacheManager")); } }
@Test public void noCacheManagerBeans() { try { load(EmptyConfig.class); } catch (IllegalStateException ex) { assertTrue(ex.getMessage().contains("no bean of type CacheManager")); } }
@Test public void multipleCachingConfigurers() { try { load(MultiCacheManagerConfigurer.class, EnableCachingConfig.class); } catch (BeanCreationException ex) { Throwable root = ex.getRootCause(); assertTrue(root instanceof IllegalStateException); assertTrue(ex.getMessage().contains("implementations of CachingConfigurer")); } }