我使用ehcache和注释驱动配置配置了
spring方法缓存.
但是,我希望能够从我们在应用程序中使用的配置文件中禁用它.
我的第一个想法是如果禁用方法缓存,则调用net.sf.ehcache.CacheManager.CacheManager(),不带参数.抛出异常:
java.lang.IllegalArgumentException: loadCaches must not return an empty Collection
at org.springframework.util.Assert.notEmpty(Assert.java:268)
at org.springframework.cache.support.AbstractCacheManager.afterPropertiesSet(AbstractCacheManager.java:49)
我的第二个想法是使用默认数据配置net.sf.ehcache.CacheManager.CacheManager(),以便不使用缓存(maxElementsInMemory 0等).但是仍然使用缓存,这不是我想要的.
有一个属性net.sf.ehcache.disabled但我不想禁用也使用ehcache的hibernate缓存.
问:如何将所有内容配置为具有弹簧方法缓存但从外部配置文件中禁用它?我不想修改应用程序上下文,也不想修改启用/禁用方法缓存的代码.只能修改我们在应用程序中使用的配置文件.