感谢“入门指南”'在'simple-spring-memcached'中我设法使用'Spring 3.1'示例在我的项目中使用memcached工作,我使用'spymemcached'作为提供者。当memcached服务器启动并运行时,一切正常。 但是,当memcache服务器无法访问时(故意关闭进行测试)下划线代码不起作用,应用程序不会执行简单地抛出运行时异常,说明无法连接到memcache服务器并发生超时。
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting
然而,我期望在这种情况下,目标方法是每次高速缓存无法访问时执行,而不是完全阻止执行路径。使用简单的spring memcache可以实现吗? , 有没有人有这方面的经验?我该如何解决这种情况,缓存层中的任何异常都不需要打扰执行,只需要调用目标方法作为后退。这就是我想要实现的目标。
我尝试使用'fallbackToNoOpCache'弹簧'CompositeCacheManager',但看起来像simple-spring-memcached对此没有影响。
我的所有配置与(春季3.1)
完全相似https://code.google.com/p/simple-spring-memcached/wiki/Getting_Started
感谢您的帮助
例如:我的@Cacheable的使用是
@Cacheable(value="books", key="#isbn")
public Book findBook(ISBN isbn, boolean checkWarehouse, boolean includeUsed)
答案 0 :(得分:1)
你是对的它应该像你描述的那样工作,我确信在SSM注释的情况下( @ReadThrough *, @Update *, @Invalidate *)它以这种方式工作。我看到,对于Spring Cache注释,行为是不同的。我今天试着解决它。 如果您不介意,请在github SSM page上为此错误创建问题。