使用infinispan的spring缓存

时间:2013-04-15 12:11:43

标签: spring caching

我想在缓存和非缓存模式durig运行时间之间切换。我知道删除标签是可行的。但这需要重建源代码/重新部署。如果我发现infinispan缓存有一些异常错误(超时或节点无法访问 - 我使用infinispan hot rod),我需要切换到非缓存模式。

是否可以扩展spring cacheinterceptor并返回null值,以便应用程序从DB获取值。基本上所有对cacheinterceptor的调用都应该被忽略。

感谢您分享信息,如果您有任何相似的事情。

1 个答案:

答案 0 :(得分:0)

我认为这个问题至少有两个解决方案。首先,您可以创建自己的CacheInterceptor实现并将切换代码放在那里。然后你需要指示Spring使用你的自定义CacheInterceptor。 ProxyCachingConfiguration课程可能是开始调查的好地方。

第二个解决方案是修改Infinispan Spring集成代码并在那里添加切换功能。为了实现这一目标,您必须覆盖SpringRemoteCacheManagerFactoryBeanSpringRemoteCacheManagerSpringRemoteCache。我建议将切换代码放在SpringRemoteCache#get。