Search in sources :

Example 1 with CacheResolver

use of org.springframework.cache.interceptor.CacheResolver in project spring-framework by spring-projects.

the class AnnotationJCacheOperationSource method createCacheResultOperation.

protected CacheResultOperation createCacheResultOperation(Method method, @Nullable CacheDefaults defaults, CacheResult ann) {
    String cacheName = determineCacheName(method, defaults, ann.cacheName());
    CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory());
    KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator());
    CacheMethodDetails<CacheResult> methodDetails = createMethodDetails(method, ann, cacheName);
    CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails);
    CacheResolver exceptionCacheResolver = null;
    final String exceptionCacheName = ann.exceptionCacheName();
    if (StringUtils.hasText(exceptionCacheName)) {
        exceptionCacheResolver = getExceptionCacheResolver(cacheResolverFactory, methodDetails);
    }
    return new CacheResultOperation(methodDetails, cacheResolver, keyGenerator, exceptionCacheResolver);
}
Also used : CacheResult(javax.cache.annotation.CacheResult) CacheResolver(org.springframework.cache.interceptor.CacheResolver) KeyGenerator(org.springframework.cache.interceptor.KeyGenerator) CacheKeyGenerator(javax.cache.annotation.CacheKeyGenerator) CacheResolverFactory(javax.cache.annotation.CacheResolverFactory)

Example 2 with CacheResolver

use of org.springframework.cache.interceptor.CacheResolver in project spring-framework by spring-projects.

the class JCacheJavaConfigTests method fullCachingConfig.

@Test
public void fullCachingConfig() throws Exception {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(FullCachingConfig.class);
    DefaultJCacheOperationSource cos = context.getBean(DefaultJCacheOperationSource.class);
    assertThat(cos.getKeyGenerator()).isSameAs(context.getBean(KeyGenerator.class));
    assertThat(cos.getCacheResolver()).isSameAs(context.getBean("cacheResolver", CacheResolver.class));
    assertThat(cos.getExceptionCacheResolver()).isSameAs(context.getBean("exceptionCacheResolver", CacheResolver.class));
    JCacheInterceptor interceptor = context.getBean(JCacheInterceptor.class);
    assertThat(interceptor.getErrorHandler()).isSameAs(context.getBean("errorHandler", CacheErrorHandler.class));
    context.close();
}
Also used : AnnotationConfigApplicationContext(org.springframework.context.annotation.AnnotationConfigApplicationContext) JCacheInterceptor(org.springframework.cache.jcache.interceptor.JCacheInterceptor) DefaultJCacheOperationSource(org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource) SimpleCacheErrorHandler(org.springframework.cache.interceptor.SimpleCacheErrorHandler) CacheErrorHandler(org.springframework.cache.interceptor.CacheErrorHandler) SimpleCacheResolver(org.springframework.cache.interceptor.SimpleCacheResolver) CacheResolver(org.springframework.cache.interceptor.CacheResolver) NamedCacheResolver(org.springframework.cache.interceptor.NamedCacheResolver) KeyGenerator(org.springframework.cache.interceptor.KeyGenerator) SimpleKeyGenerator(org.springframework.cache.interceptor.SimpleKeyGenerator) SomeKeyGenerator(org.springframework.context.testfixture.cache.SomeKeyGenerator) Test(org.junit.jupiter.api.Test)

Example 3 with CacheResolver

use of org.springframework.cache.interceptor.CacheResolver in project spring-framework by spring-projects.

the class AnnotationJCacheOperationSource method createCachePutOperation.

protected CachePutOperation createCachePutOperation(Method method, @Nullable CacheDefaults defaults, CachePut ann) {
    String cacheName = determineCacheName(method, defaults, ann.cacheName());
    CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory());
    KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator());
    CacheMethodDetails<CachePut> methodDetails = createMethodDetails(method, ann, cacheName);
    CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails);
    return new CachePutOperation(methodDetails, cacheResolver, keyGenerator);
}
Also used : CacheResolver(org.springframework.cache.interceptor.CacheResolver) KeyGenerator(org.springframework.cache.interceptor.KeyGenerator) CacheKeyGenerator(javax.cache.annotation.CacheKeyGenerator) CachePut(javax.cache.annotation.CachePut) CacheResolverFactory(javax.cache.annotation.CacheResolverFactory)

Example 4 with CacheResolver

use of org.springframework.cache.interceptor.CacheResolver in project spring-framework by spring-projects.

the class AnnotationJCacheOperationSource method createCacheRemoveOperation.

protected CacheRemoveOperation createCacheRemoveOperation(Method method, @Nullable CacheDefaults defaults, CacheRemove ann) {
    String cacheName = determineCacheName(method, defaults, ann.cacheName());
    CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory());
    KeyGenerator keyGenerator = determineKeyGenerator(defaults, ann.cacheKeyGenerator());
    CacheMethodDetails<CacheRemove> methodDetails = createMethodDetails(method, ann, cacheName);
    CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails);
    return new CacheRemoveOperation(methodDetails, cacheResolver, keyGenerator);
}
Also used : CacheRemove(javax.cache.annotation.CacheRemove) CacheResolver(org.springframework.cache.interceptor.CacheResolver) KeyGenerator(org.springframework.cache.interceptor.KeyGenerator) CacheKeyGenerator(javax.cache.annotation.CacheKeyGenerator) CacheResolverFactory(javax.cache.annotation.CacheResolverFactory)

Example 5 with CacheResolver

use of org.springframework.cache.interceptor.CacheResolver in project spring-framework by spring-projects.

the class AnnotationJCacheOperationSource method createCacheRemoveAllOperation.

protected CacheRemoveAllOperation createCacheRemoveAllOperation(Method method, @Nullable CacheDefaults defaults, CacheRemoveAll ann) {
    String cacheName = determineCacheName(method, defaults, ann.cacheName());
    CacheResolverFactory cacheResolverFactory = determineCacheResolverFactory(defaults, ann.cacheResolverFactory());
    CacheMethodDetails<CacheRemoveAll> methodDetails = createMethodDetails(method, ann, cacheName);
    CacheResolver cacheResolver = getCacheResolver(cacheResolverFactory, methodDetails);
    return new CacheRemoveAllOperation(methodDetails, cacheResolver);
}
Also used : CacheResolver(org.springframework.cache.interceptor.CacheResolver) CacheRemoveAll(javax.cache.annotation.CacheRemoveAll) CacheResolverFactory(javax.cache.annotation.CacheResolverFactory)

Aggregations

CacheResolver (org.springframework.cache.interceptor.CacheResolver)5 CacheResolverFactory (javax.cache.annotation.CacheResolverFactory)4 KeyGenerator (org.springframework.cache.interceptor.KeyGenerator)4 CacheKeyGenerator (javax.cache.annotation.CacheKeyGenerator)3 CachePut (javax.cache.annotation.CachePut)1 CacheRemove (javax.cache.annotation.CacheRemove)1 CacheRemoveAll (javax.cache.annotation.CacheRemoveAll)1 CacheResult (javax.cache.annotation.CacheResult)1 Test (org.junit.jupiter.api.Test)1 CacheErrorHandler (org.springframework.cache.interceptor.CacheErrorHandler)1 NamedCacheResolver (org.springframework.cache.interceptor.NamedCacheResolver)1 SimpleCacheErrorHandler (org.springframework.cache.interceptor.SimpleCacheErrorHandler)1 SimpleCacheResolver (org.springframework.cache.interceptor.SimpleCacheResolver)1 SimpleKeyGenerator (org.springframework.cache.interceptor.SimpleKeyGenerator)1 DefaultJCacheOperationSource (org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource)1 JCacheInterceptor (org.springframework.cache.jcache.interceptor.JCacheInterceptor)1 AnnotationConfigApplicationContext (org.springframework.context.annotation.AnnotationConfigApplicationContext)1 SomeKeyGenerator (org.springframework.context.testfixture.cache.SomeKeyGenerator)1