我在 WebLogic 9.1 实例上运行的 webapp 上使用 EHCache 1.5.0。在从缓存中获取元素或检查缓存中是否存在项目时,偶尔会遇到以下错误。有没有其他人看到这个问题?有关如何解决此问题的任何建议都会很棒。
导致此问题的代码:
getMyCache().isKeyInCache(cacheKey)
ehcache 配置:
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskPersistent="true"
我正在使用 Spring 来获取 CacheManager 的实例,这是我的 bean 定义:
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation"><value>classpath:ehcache.xml</value></property>
</bean>
错误如下:
java.lang.NullPointerException
at net.sf.ehcache.Cache.isElementInMemory(Cache.java:1962)
at net.sf.ehcache.Cache.isKeyInCache(Cache.java:2075)
at com.test.services.impl.ContentServicesImpl.getContentItemFromCache(ContentServicesImpl.java:260) ......
日志中没有其他内容表明在缓存中查找键时出现 NullPointerException 的原因。
任何有关如何解决此问题的指示和建议将不胜感激。这不会始终如一地发生,似乎在一个环境中随机发生。