我使用 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 的休眠缓存。
Q
如何将所有内容配置为具有 spring 方法缓存但从我的外部配置文件中禁用它?我不想修改应用程序上下文,也不想修改启用/禁用方法缓存的代码。只能修改我们在应用中使用的配置文件。