Вызов аннотации @CacheEvict - PullRequest
0 голосов
/ 27 апреля 2019

Я знаю, что @CacheEvict выполняет операцию очистки кэшированных данных в Spring.Я просто хотел понять: *

Если я аннотирую метод с помощью @CacheEvict, будет ли он вызываться автоматически так же, как @PreDestroyаннотация JSF.ie во время сборки мусора для объекта bean?

1 Ответ

1 голос
/ 29 апреля 2019

@CacheEvict не похоже на @PreDestroy;он не вызывается автоматически.

Как описано в документации , @CacheEvict оценивается каждый раз, когда вызывается метод аннотированного компонента @CacheEvict.Вы можете условно контролировать, когда на самом деле происходит выселение, а также происходит ли выселение до выполнения метода или после (по умолчанию), используя аннотацию @CacheEviction, атрибут beforeInvocation , а также управляя другими настройками.

Декларативная конфигурация Spring для @CacheEvict также не связана с сборкой мусора JVM.Обычно вам нужно полагаться на возможности отдельных провайдеров кэширования (например, ehcache, memcached) или более продвинутых провайдеров, таких как (например, Apache Geode, Hazelcast или Redis), для настройки, настройки и управления триггерами и действиями выселения на уровне JVM..

У каждого провайдера могут быть одинаковые и разные возможности в этом отношении.

Надеюсь, это поможет.

...