2012-03-13 3 views
0

this JDBC Caching chapterに続いて、DAOの結果をキャッシュしようとしています。残念ながら、私は以下を取得していますNullPointerExceptiongetEhcache()によるEhcache NullPointerException

java.lang.NullPointerException 
    my.package.EhCacheWrapper.getCache(EhCacheWrapper.java:39) 

線39は、getEhcache(cacheName)戻りnull

return cacheManager.getEhcache(cacheName); 

このラインによって返さEhcacheインスタンスにアクセスする最初の試みを指します。 cacheManagerのオブジェクト参照IDは、常に同じままです。私のプロジェクトでは、Spring 3.0.5とEhcache 2.3.0を使用しています。

答えて

1

私はself-implementedEhcacheWrapperを破棄し、Springによって提供されたEhCacheFactoryBeanを使用しました。

<bean id="inventoryCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> 
    <property name="cacheManager" ref="cacheManager" /> 
    <property name="cacheName" value="pets" /> 
</bean> 

私はSpring 3.0.5で作業する必要がありました。 Spring 3.1.0のSpring Cache Abstractionを使用できます。

0

cacheManagerは初期化されておらず、実際にはnullのようです。

+0

これは彼の問題に対する答えですか? – Viruzzo

+0

これは、nullを返す 'getEhcache(cacheName)'ではないことを示しています。 'applicationContext.xml'の設定に問題があり、結果として' cacheManager'リファレンスがまったく注入/作成されませんでした。 – beny23

+0

CacheManagerは初期化されていますが、メソッド 'getEhcache'は' null'を返します。 – Matthias