Java getEhcache()的Ehcache NullPointerException

Java getEhcache()的Ehcache NullPointerException,java,spring,jdbc,ehcache,Java,Spring,Jdbc,Ehcache,我正在尝试缓存DAO的结果,如下所示。不幸的是,我得到了以下NullPointerException java.lang.NullPointerException my.package.EhCacheWrapper.getCache(EhCacheWrapper.java:39) 第39行是指第一次尝试访问此行返回的Ehcache实例 return cacheManager.getEhcache(cacheName); 其中getEhcache(cacheName)返回null。ca

我正在尝试缓存DAO的结果,如下所示。不幸的是,我得到了以下
NullPointerException

java.lang.NullPointerException
    my.package.EhCacheWrapper.getCache(EhCacheWrapper.java:39)
第39行是指第一次尝试访问此行返回的
Ehcache
实例

return cacheManager.getEhcache(cacheName);

其中
getEhcache(cacheName)
返回
null
cacheManager
的对象引用id始终保持不变。我的项目使用Spring 3.0.5和Ehcache 2.3.0。

看起来,
cacheManager
没有初始化,实际上是
null

我丢弃了
EhcacheWrapper
,使用了Spring提供的
EhCacheFactoryBean

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


请注意,我必须为Spring3.0.5工作。您可以使用Spring 3.1.0。

这是如何解决他的问题的?这表明返回null的不是
getEhcache(cacheName)
,他在
applicationContext.xml
中的设置有问题,导致从未注入/创建
cacheManager
引用。cacheManager已初始化,但其方法
getEhcache
返回
null
。如果该行出现错误,则不会返回。如果初始化了
cacheManager
,您将不会得到NPE,该方法将返回
null
@gustafc您是对的。试图访问返回值时发生
NullPointerException
。我会更新我的问题。