У меня есть два Cache Manager с Singleton (это основной) и Session. И я указываю, что в классе MyRepository я хочу использовать "sessionBasedCache" через следующую аннотацию метода:
@Cacheable(value = "members", key = "#id.value()", cacheManager = "sessionBasedCache")
...
Когда вызывается "sessionBasedCache", я получаю следующее исключение:
setAttribute: Non-serializable attribute with name scopedTarget.epeSessionBasedCache
Это моя конфигурация:
@Bean(name = "sessionBasedCache")
@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES)
public CacheManager epeSessionBasedCacheManager() {
return new GuavaCacheManager();
}
Что я уже пробовал: если я использую кэш с одноэлементной областью действия, все в порядке. Я посмотрел через SimpleCacheManager, это по умолчанию весенний кеш. И он не реализует Serializable.
Есть ли у вас какие-либо мысли о том, что происходит и как это исправить?