Я включил кэширование с помощью аннотации @Cacheable
для метода, который имеет следующее объявление:
@Cacheable(value = "myCache", key = "#t+ '_' + #key", condition = "#key != null")
public <T> T get(String t, VendorProperty<T> key, T defaultValue) {
return get(t, key).orElse(default_value);
}
Однако, это выдает NotSerializableException
, если объект, который он пытается кэшировать, не является сериализуемым (например: DateTimeFormatter
).
Мне было интересно, можно ли кэшировать объекты только тогда, когда объект можно сериализировать, чтобы избежать этого исключения.
Я использую memcache
для кэширования объектов с использованием библиотеки simple-spring-memcache
.
PS: я не могу реализовать интерфейс Serializable
, так как DateTimeFormatter
является предопределенным классом.