我正在使用EhCache缓存我的一些内容并且效果很好。
运行繁重的性能测试有时会导致NullPointerException
处于不同的流程中。
在做了研究之后,我明白EhCache默认通过引用来缓存对象,所以我想我的问题是,因为在TTL=60 seconds
之后,过期的元素仍然在缓存中,直到:
evictExpiredElements()
被称为如果执行上述任一操作,Ehcache会立即使缓存中的过期元素无效。
所以在我的情况下,似乎元素在处理缓存元素期间过期,而其他线程试图获取导致元素无效的元素。
我的问题是解决这个问题的正确方法是什么?