@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()); }
@Bean(name = CacheManagementConfigUtils.CACHE_ASPECT_BEAN_NAME) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public AnnotationCacheAspect cacheAspect() { AnnotationCacheAspect cacheAspect = AnnotationCacheAspect.aspectOf(); if (this.cacheResolver != null) { cacheAspect.setCacheResolver(this.cacheResolver); } else if (this.cacheManager != null) { cacheAspect.setCacheManager(this.cacheManager); } if (this.keyGenerator != null) { cacheAspect.setKeyGenerator(this.keyGenerator); } if (this.errorHandler != null) { cacheAspect.setErrorHandler(this.errorHandler); } return cacheAspect; }
@Test public void testKeyStrategy() throws Exception { AnnotationCacheAspect aspect = ctx.getBean( "org.springframework.cache.config.internalCacheAspect", AnnotationCacheAspect.class); Assert.assertSame(ctx.getBean("keyGenerator"), aspect.getKeyGenerator()); }
@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 testCacheErrorHandler() { load(EnableCachingConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertSame(this.ctx.getBean("errorHandler", CacheErrorHandler.class), aspect.getErrorHandler()); }
@Test public void testKeyStrategy() { load(EnableCachingConfig.class); AnnotationCacheAspect aspect = this.ctx.getBean(AnnotationCacheAspect.class); assertSame(this.ctx.getBean("keyGenerator", KeyGenerator.class), aspect.getKeyGenerator()); }
@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; }