@Override @Bean public CacheResolver cacheResolver() { return new NamedCacheResolver(cacheManager(), "foo"); } }
@Override @Bean public CacheResolver cacheResolver() { return new NamedCacheResolver(cacheManager(), "foo"); } }
@Override @Bean public CacheResolver exceptionCacheResolver() { return new NamedCacheResolver(cacheManager(), "exception"); } }
@Bean public CacheResolver secondaryCacheResolver() { return new NamedCacheResolver(cacheManager(), "primary"); }
@Override @Bean public CacheResolver cacheResolver() { return new NamedCacheResolver(cacheManager(), "foo"); }
@Bean public CacheResolver primaryCacheResolver() { return new NamedCacheResolver(cacheManager(), "primary"); }
@Bean public CacheResolver testCacheResolver() { return new NamedCacheResolver(cacheManager(), "testCache", "anotherTestCache"); }
@Override @Bean public CacheResolver cacheResolver() { return new NamedCacheResolver(new ConcurrentMapCacheManager(), "default"); }
@Bean public CacheResolver namedCacheResolver() { NamedCacheResolver resolver = new NamedCacheResolver(); resolver.setCacheManager(cacheManager()); resolver.setCacheNames(Collections.singleton("secondary")); return resolver; }
@Test public void severalCachesNotSupported() { JCacheInterceptor interceptor = createInterceptor(createOperationSource( cacheManager, new NamedCacheResolver(cacheManager, "default", "simpleCache"), defaultExceptionCacheResolver, defaultKeyGenerator)); AnnotatedJCacheableService service = new AnnotatedJCacheableService(cacheManager.getCache("default")); Method m = ReflectionUtils.findMethod(AnnotatedJCacheableService.class, "cache", String.class); try { interceptor.execute(dummyInvoker, service, m, new Object[] {"myId"}); } catch (IllegalStateException ex) { assertTrue(ex.getMessage().contains("JSR-107 only supports a single cache")); } catch (Throwable ex) { fail("Unexpected: " + ex); } }
@Test public void noCacheCouldBeResolved() { JCacheInterceptor interceptor = createInterceptor(createOperationSource( cacheManager, new NamedCacheResolver(cacheManager), // Returns empty list defaultExceptionCacheResolver, defaultKeyGenerator)); AnnotatedJCacheableService service = new AnnotatedJCacheableService(cacheManager.getCache("default")); Method m = ReflectionUtils.findMethod(AnnotatedJCacheableService.class, "cache", String.class); try { interceptor.execute(dummyInvoker, service, m, new Object[] {"myId"}); } catch (IllegalStateException ex) { assertTrue(ex.getMessage().contains("Cache could not have been resolved for")); } catch (Throwable ex) { fail("Unexpected: " + ex); } }
@Bean public CacheResolver modelCacheResolver() { NamedCacheResolver modelCacheResolver = new NamedCacheResolver(); //these guys are relatively small, always accessed and never grow so were using a ConcurrentMap to store them. modelCacheResolver.setCacheNames(Collections.singletonList("models")); modelCacheResolver.setCacheManager(new ConcurrentMapCacheManager()); return modelCacheResolver; }