逗人,
如何将Hibernate二级缓存生命周期(超时)设置为只在Wildfly(Infinispan)上部署的一个实体?
我有一个由一些节点共享的实体(彼此不认识),都绑在一个中央数据库中。
我希望有一个二级缓存来避免不必要的数据库访问。但是我也想每5分钟使这个缓存过期,以确保我们在节点之间有某种最终的一致性。
所以我想通过二级缓存配置它。
非常感谢
答案 0 :(得分:0)
Infinispan是Wildfly的默认缓存选择。只需在persistence.xml(hibernate.cache.use_second_level_cache=true
)中启用2LC,并使用javax.persistence.Cacheable
注释您的缓存实体。您可以通过hibernate.cache.infinispan.entity.expiration.lifespan=300
将到期时间设置为5分钟,如果您希望缓存同步,则可以使用standalone-ha.xml
对节点进行群集。