Ehcache怎樣在Element級上控制過期時間

2021-08-30 14:31:24 字數 1082 閱讀 7934

cachemanager ehcachemanager = new cachemanager();

ehcachemanager.addcache("default");

ehcache cache = ehcachemanager.getcache("default");

element e = new element("aa", "aa", false, 1, 1);

cache.put(e);

system.out.println(cache.get("aa"));

thread.sleep(1050);

system.out.println(cache.get("aa"));//如果這個時候,期待cache是否過期。但是實際的情況是。ehcache依然能獲取到相關資料.

方法內容:

if (!element.islifespanset())

element裡面有乙個islifespan的引數,預設是為false的。。

false的時候.ehcache會element的過期時間設定為預設配置的

當你通過new  element(object key, object value,

boolean eternal, int timetoidleseconds, int timetoliveseconds)

去例項化的時候。。根本不會去設定islifespan這個引數,而是採用預設的過期策略的。。

但是去呼叫element 的。settimetolive,settimetoidle,seteternal方法時,

確會去設定這個引數。。

element.seteternal(boolean eternal)

這樣的話。。就會去單獨去設定element控制過期時間,而不會用預設的配置去覆蓋設定.

個人覺得這個ehcache存在的乙個bug。。

既然在呼叫element 的。settimetolive,settimetoidle,seteternal方法時,會去設定這個引數,那麼如果在構造的時候也應該呼叫這些方法。

但是有可能ehcache希望使用者能根據不同cache config去配置應用。而不應該應用到element級別上

EHCache入門系列 二 在工程中單獨使用

1.建立cachemanager net.sf.ehcache.cachemanager 1 使用預設配置檔案建立 cachemanager manager cachemanager.create 2 使用指定配置檔案建立 cachemanager manager cachemanager.crea...

怎樣在Apache上安裝MOD SSL

怎樣在apache上安裝mod ssl 然在安裝mod ssl時已經使用 make certificate 命令建立了伺服器 的證書簽名,但是有時你可能需要改變它。當然有很多自動的指令碼可以實現它,但是最可靠的方法是手工簽署 證書。首先我假定你已經安裝好了openssl和mod ssl,如果你的op...

怎樣在osworkflow中使用BeanShell

1 如下定義流程檔案 這樣就定義了乙個名稱為example,位置在 samples comment arg.xml的流程檔案 2 建立測試類com.hongsoft.os.test 裡面的main方法的 如下 counter 0 要測試的變數 map inputs new hashmap input...