2013-03-26 51 views
0

我打算使用infinispan作爲我的Hibernate應用程序二級緩存。我的所有實體都有一個生命週期屬性[新建 - >運行 - >完成]。最初我的實體處於新狀態,當時間流逝時,它會移動到其他狀態。Infinispan二級緩存自定義驅逐策略

在實體生命週期屬性狀態到達完成狀態時,我只想從緩存中驅逐實體。就像我的理解一樣,Infinispan不支持定製驅逐策略。什麼是處理我的情況的最佳方式?

回答

0

我會在正確的時間從Cache API使用evict(key)方法實現自己的邏輯。

公共無效逐出(K鍵)

驅逐從緩存內存中的條目。請注意,條目 不會從羣集中的任何已配置的緩存存儲或 中的任何其他緩存中刪除(如果在羣集模式下使用)。使用Cache.remove(Object)至 從整個緩存系統中刪除一個條目。

一旦具有"key1"的實體達到其完成狀態,您可以觸發ispnCache.evict("key1");進行驅逐。