我正在尝试在this JDBC Caching chapter之后缓存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。 最佳答案
我丢弃了self-implemented EhcacheWrapper
并使用了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。