Я пытаюсь очистить кеш Hibernate, но не могу получить контекст Ehcache, чтобы очистить его. Заранее спасибо.
CacheConfiguration.java ,
public class CacheConfiguration {
private final javax.cache.configuration.Configuration<Object, Object> jcacheConfiguration;
public CacheConfiguration(JHipsterProperties jHipsterProperties) {
JHipsterProperties.Cache.Ehcache ehcache = jHipsterProperties.getCache().getEhcache();
jcacheConfiguration = Eh107Configuration.fromEhcacheCacheConfiguration(
CacheConfigurationBuilder.newCacheConfigurationBuilder(Object.class, Object.class,
ResourcePoolsBuilder.heap(ehcache.getMaxEntries()))
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofSeconds(ehcache.getTimeToLiveSeconds())))
.build());
}
@Bean
public JCacheManagerCustomizer cacheManagerCustomizer() {
return cm -> {
createCache(cm, co.interedes.repository.UserRepository.USERS_BY_LOGIN_CACHE);
createCache(cm, co.interedes.repository.UserRepository.USERS_BY_EMAIL_CACHE);
cm.createCache(co.interedes.domain.EntityAuditEvent.class.getName(), jcacheConfiguration);
// jhipster-needle-ehcache-add-entry
};
}
private void createCache(javax.cache.CacheManager cm, String cacheName) {
javax.cache.Cache<Object, Object> cache = cm.getCache(cacheName);
if (cache != null) {
cm.destroyCache(cacheName);
}
cm.createCache(cacheName, jcacheConfiguration);
}
}
В этом посте https://www.journaldev.com/2969/hibernate-caching-first-level-cache очистить первый уровень, но в Jhipster конфиг его отличается