Кто-нибудь знает, как работает генерация ключей по умолчанию для 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
.
Я был бы признателен за любую информацию и рекомендации по этой теме.