Кто-нибудь знает, как работает генерация ключей по умолчанию для Ehcache? Если у меня есть следующий метод:
@Cacheable(cacheName = CACHE_KEY) // CACHE_KEY is static final field.
public List<DataObject> list(
int firstRecord, int maxRecords, int pageSize, FilterObject filter) {
....
}
, где FilterObject
является пользовательским POJO, что я должен ожидать от фактического ключа кэша?
Что я наблюдаю, так это то, что при использовании разных экземпляров FilterObject
и без изменения других аргументоввызова моего метода он всегда дает один и тот же результат — результат первого вызова кэшируется и вернулся.
Вероятно, это FilterObject
POJO, который вызывает поведение — я полагаю, что это либо некоторая сериализация, либо .toString()
проблема, потому что я не переопределил соответствующие методы .
Тем не менее, мне не удалось найти точную информацию о том, как формируется ключ кэша для такого метода, как на веб-сайте Ehcache, так и в аннотационной документации @Cacheable
.
Буду признателен за любую информацию и рекомендации по этой теме.