2017-10-06 80 views
0

逗人部署,如何設置Hibernate的二級緩存的壽命只是一個實體上Wildfly(Infinispan的)

如何設置Hibernate的二級緩存的壽命(超時)只是一個實體上Wildfly(Infinispan的)部署?

我有一個由一些節點共享的實體(彼此不認識),都綁在一箇中央數據庫中。

我想有一個二級緩存來避免不必要的數據庫訪問。但我也希望每隔5分鐘將此緩存過期以確保節點之間具有某種最終一致性。

所以我想通過二級緩存進行配置。

非常感謝你

回答

0

Infinispan是Wildfly中默認的緩存選擇。只需在persistence.xml中啓用2LC(hibernate.cache.use_second_level_cache=true)並使用javax.persistence.Cacheable註釋您的緩存實體。您可以通過hibernate.cache.infinispan.entity.expiration.lifespan=300將到期時間設置爲5分鐘,如果您希望緩存保持同步,則可以使用standalone-ha.xml對節點進行羣集。

+0

但是我怎樣才能把這個實體設置爲5分鐘?但沒有設置所有其他人? –

+0

查看文檔[here](https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#caching-provider-infinispan-config)。有可能給個體實體過期值。除了在屬性中設置實體FQN之外,最重要的是不要忘記放置部署文件名和持久性單元名稱。 –

相關問題