如何将Hibernate二级缓存生命周期设置为只在Wildfly上部署的一个实体(Infinispan)

时间:2017-10-06 23:59:45

标签: java hibernate caching wildfly infinispan

逗人,

如何将Hibernate二级缓存生命周期(超时)设置为只在Wildfly(Infinispan)上部署的一个实体?

我有一个由一些节点共享的实体(彼此不认识),都绑在一个中央数据库中。

我希望有一个二级缓存来避免不必要的数据库访问。但是我也想每5分钟使这个缓存过期,以确保我们在节点之间有某种最终的一致性。

所以我想通过二级缓存配置它。

非常感谢

1 个答案:

答案 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对节点进行群集。