Я только начал работать с кофеином. Я вижу, что класс CaffeineCache
в Spring Boot поддерживает только реализации интерфейса Cache
от Caffeine, как показано в приведенном ниже коде, но я хотел бы знать, поддерживает ли Spring Boot реализации AsyncCache
? Спасибо
@Bean
public CacheManager cacheManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager();
cacheManager.setCaffeine(caffeineCacheBuilder());
cacheManager.setAllowNullValues(false);
return cacheManager;
}
@NonNull Caffeine<Object, Object> caffeineCacheBuilder() {
return Caffeine.newBuilder()
.initialCapacity(100)
.maximumSize(500)
.expireAfterWrite(1, TimeUnit.MINUTES)
.recordStats()
.removalListener(new RemovalListener<Object, Object>() {
@Override
public void onRemoval(@Nullable Object key, @Nullable Object value, @NonNull RemovalCause cause) {
System.out.println("Remove listener: " + key.toString());
}
})
.writer(new CacheWriter<Object, Object>() {
@Override
public void write(@NonNull Object key, @NonNull Object value) {
System.out.println("Written: " + key.toString());
}
@Override
public void delete(@NonNull Object key, @Nullable Object value, @NonNull RemovalCause cause) {
System.out.println("Deleted: " + key.toString());
}
});
}