WebLogic 9.1 インスタンスで実行されている Web アプリケーションで 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 の原因を示すものは他にありません。
これを修正する方法についての指針、提案は大歓迎です。これは一貫して発生するわけではなく、1 つの環境でランダムに発生するようです。