/** * Return a {@code SimpleCacheResolver} for the given {@link CacheManager}. * @param cacheManager the CacheManager (potentially {@code null}) * @return the SimpleCacheResolver ({@code null} if the CacheManager was {@code null}) * @since 5.1 */ @Nullable static SimpleCacheResolver of(@Nullable CacheManager cacheManager) { return (cacheManager != null ? new SimpleCacheResolver(cacheManager) : null); }
/** * Configure this aspect with the given error handler, key generator and cache resolver/manager * suppliers, applying the corresponding default if a supplier is not resolvable. * @since 5.1 */ public void configure( @Nullable Supplier<CacheErrorHandler> errorHandler, @Nullable Supplier<KeyGenerator> keyGenerator, @Nullable Supplier<CacheResolver> cacheResolver, @Nullable Supplier<CacheManager> cacheManager) { this.errorHandler = new SingletonSupplier<>(errorHandler, SimpleCacheErrorHandler::new); this.keyGenerator = new SingletonSupplier<>(keyGenerator, SimpleKeyGenerator::new); this.cacheResolver = new SingletonSupplier<>(cacheResolver, () -> SimpleCacheResolver.of(SupplierUtils.resolve(cacheManager))); }
@Bean(name = SIMPLE_CACHE_RESOLVER_NAME) public CacheResolver simpleCacheResolver() { final SimpleCacheResolver resolver = new SimpleCacheResolver(); resolver.setCacheManager(cacheManager); return resolver; }
@Test public void emptyConfigSupport() { ConfigurableApplicationContext context = new AnnotationConfigApplicationContext(EmptyConfigSupportConfig.class); CacheInterceptor ci = context.getBean(CacheInterceptor.class); assertNotNull(ci.getCacheResolver()); assertEquals(SimpleCacheResolver.class, ci.getCacheResolver().getClass()); assertSame(context.getBean(CacheManager.class), ((SimpleCacheResolver)ci.getCacheResolver()).getCacheManager()); context.close(); }
@Override public Collection<Cache> resolveCaches(final CacheOperationInvocationContext<?> context) { return super.resolveCaches(context).stream().map(TenantCacheWrapper::new).collect(Collectors.toList()); }
@Override protected Collection<String> getCacheNames(final CacheOperationInvocationContext<?> context) { return super.getCacheNames(context).stream() .map(cacheName -> tenantAware.getCurrentTenant() + "." + cacheName).collect(Collectors.toList()); } }
@Test public void emptyConfigSupport() { ConfigurableApplicationContext context = new AnnotationConfigApplicationContext(EmptyConfigSupportConfig.class); DefaultJCacheOperationSource cos = context.getBean(DefaultJCacheOperationSource.class); assertNotNull(cos.getCacheResolver()); assertEquals(SimpleCacheResolver.class, cos.getCacheResolver().getClass()); assertSame(context.getBean(CacheManager.class), ((SimpleCacheResolver) cos.getCacheResolver()).getCacheManager()); assertNull(cos.getExceptionCacheResolver()); context.close(); }
/** * Set the {@link CacheManager} to use to create a default {@link CacheResolver}. * Replace the current {@link CacheResolver}, if any. * @see #setCacheResolver * @see SimpleCacheResolver */ public void setCacheManager(CacheManager cacheManager) { this.cacheResolver = SingletonSupplier.of(new SimpleCacheResolver(cacheManager)); }
@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()); }
/** * Configure this aspect with the given error handler, key generator and cache resolver/manager * suppliers, applying the corresponding default if a supplier is not resolvable. * @since 5.1 */ public void configure( @Nullable Supplier<CacheErrorHandler> errorHandler, @Nullable Supplier<KeyGenerator> keyGenerator, @Nullable Supplier<CacheResolver> cacheResolver, @Nullable Supplier<CacheManager> cacheManager) { this.errorHandler = new SingletonSupplier<>(errorHandler, SimpleCacheErrorHandler::new); this.keyGenerator = new SingletonSupplier<>(keyGenerator, SimpleKeyGenerator::new); this.cacheResolver = new SingletonSupplier<>(cacheResolver, () -> SimpleCacheResolver.of(SupplierUtils.resolve(cacheManager))); }
/** * Return a {@code SimpleCacheResolver} for the given {@link CacheManager}. * @param cacheManager the CacheManager (potentially {@code null}) * @return the SimpleCacheResolver ({@code null} if the CacheManager was {@code null}) * @since 5.1 */ @Nullable static SimpleCacheResolver of(@Nullable CacheManager cacheManager) { return (cacheManager != null ? new SimpleCacheResolver(cacheManager) : null); }
/** * Set the {@link CacheManager} to use to create a default {@link CacheResolver}. * Replace the current {@link CacheResolver}, if any. * @see #setCacheResolver * @see SimpleCacheResolver */ public void setCacheManager(CacheManager cacheManager) { this.cacheResolver = SingletonSupplier.of(new SimpleCacheResolver(cacheManager)); }
@Override @Bean public CacheResolver cacheResolver() { return new SimpleCacheResolver(cacheManager()); }
@Override @Bean public CacheResolver exceptionCacheResolver() { return new SimpleCacheResolver(cacheManager()); } }
@Override protected CacheResolver getDefaultCacheResolver() { if (getCacheResolver() == null) { this.cacheResolver = SingletonSupplier.of(new SimpleCacheResolver(getDefaultCacheManager())); } return getCacheResolver(); }
operationCacheResolver = new SimpleCacheResolver(cacheManager);
@Override protected CacheResolver getDefaultCacheResolver() { if (getCacheResolver() == null) { this.cacheResolver = SingletonSupplier.of(new SimpleCacheResolver(getDefaultCacheManager())); } return getCacheResolver(); }
operationCacheResolver = new SimpleCacheResolver(cacheManager);
/** * Factory method for create the new {@link SimpleCacheResolver} object. * * @return the new {@link SimpleCacheResolver} */ public static CacheResolver newSimpleCacheResolver() { return new SimpleCacheResolver(); }
@Override protected CacheResolver getDefaultCacheResolver() { if (this.cacheResolver == null) { this.cacheResolver = new SimpleCacheResolver(getDefaultCacheManager()); } return this.cacheResolver; }