我在使用Spring注释的服务代表上使用EhCache。
在我的@Cacheable
注释中,我添加了resolverFactoryName
字段,以便在运行时解析我的缓存。
然后我实现CacheableCacheResolver
接口,并根据业务规则返回缓存,但有时我没有根据这些规则返回的缓存。
如果我返回null EhCache的lib给了我一个NPE。 当我没有要返回的缓存时,该怎么办?所以应用程序不应该缓存这些值中的任何一个?是否存在"假的"缓存返回?是否有类似NoCacheException的东西?
答案 0 :(得分:1)
我不认为异常是要走的路,你真的想要返回一个无操作缓存实现。
从您给出的类名称CacheableCacheResolver
- 看起来您正在使用ehcache-spring-annotations
,它似乎不支持您想要的内容 - 无操作缓存。
请注意,您仍然可以自己处理。
如果您要使用Spring Caching抽象,则可以使用similar system来支持通过org.springframework.cache.support.NoOpCacheManager.NoOpCache
的无操作缓存。