我正在尝试在this JDBC Caching chapter之后缓存DAO的结果。不幸的是,我得到以下NullPointerException

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


第39行是第一次尝试访问Ehcache实例的情况,此行返回

return cacheManager.getEhcache(cacheName);


其中getEhcache(cacheName)返回nullcacheManager的对象引用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

09-30 17:14
查看更多