Java getEhcache()的Ehcache NullPointerException
我正在尝试缓存DAO的结果,如下所示。不幸的是,我得到了以下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
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
。我会更新我的问题。