Когда @CacheEvict
указан без атрибута key
, все параметры метода используются для создания ключа для записи, подлежащей выселению, поэтому
@CacheEvict("Settings")
public String doThing(String foo, Integer bar) {
// ...
}
... выполнит запись ссоставной ключ {foo
, bar
}.Генератором ключей по умолчанию, используемым для создания составного ключа, является SimpleKeyGenerator
, который возвращает SimpleKey
экземпляров, которые содержат ссылки на параметры метода для сравнения.
Если метод не имеет параметров, ключ по умолчанию - SimpleKey.EMPTY
.
Атрибут allEntries
не может быть установлен на true
, если вы укажете атрибут key
;они взаимоисключающие.Если для этого параметра установлено значение true
, все записи в кэше будут удаляться при каждом вызове аннотированного метода.
Итак ...
@CacheEvict("Settings", allEntries = true)
public String doThing(String foo, Integer bar) {
// ...
}
... очистит Settings
кэшировать каждый раз, когда вызывается метод, независимо от параметров метода.