【发布时间】:2019-01-16 14:10:46
【问题描述】:
我正在 Spring Boot 中开发一个 java 应用程序。我正在使用 Hazelcast 进行缓存,但是当使用 @CachePut 注释方法时它不会更新缓存 我的代码是这样的:
@CachePut(cacheNames = "cachetest")
public void addData(com.nikesh.webapp.model.CacheTest cacheObj) {
repo.save(cacheObj);
}
@Cacheable(cacheNames = "cachetest")
public List<com.nikesh.webapp.model.CacheTest> getCacheTestData() {
return repo.findAll();
}
@SuppressWarnings("unchecked")
@Cacheable(cacheNames = "cachetest")
public List<com.nikesh.webapp.model.CacheTest> getCacheTestDataByPhone(
String phone) {
Query q = manager.createNamedQuery("byPhone");
q.setParameter("phone", phone);
return q.getResultList();
}
@CacheEvict(cacheNames = "cachetest")
public boolean clearCache() {
return true;
}
CacheEvict 工作正常。我错过了什么吗?
【问题讨论】:
-
Spring Boot 应该拦截调用并将它们转发给 Hazelcast。如果注释不起作用,我预计会出现 Spring Boot 问题。不幸的是,我不是 Spring Boot 专家。
-
@CachePut注解的方法是void
标签: java caching spring-boot hazelcast