我在使用 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
提交
取消