我在使用 Ehcache 時遇到問題。它通常工作正常,但偶爾我在嘗試訪問緩存時會遇到 ClosedChannelException,一旦發生這種情況,我只能通過重新創建緩存來解決問題這是我的課我不明白為什么會這樣,我的第一個想法是我應該修改 protected org.ehcache.Cache<String, Result> getCache() { return cache; }到 protected org.ehcache.Cache<String, Result> getCache() { if(cache==null) { cache = createCache(); } return cache; }但為什么 cache 永遠是 null ?我的第二個想法是存在一些多線程問題,但我假設 Ehcache 是線程安全的?
1 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
這方面有幾個錯誤。我認為您正在成為以下變體的受害者:https ://github.com/Terracotta-OSS/offheap-store/pull/53
如果您可以更新到包含這些問題修復程序的 Ehcache 3.7.1,看看您是否可以重現。如果這不能解決問題,請在https://github.com/ehcache/ehcache3提交錯誤
添加回答
舉報
0/150
提交
取消