感谢“simple-spring-memcached”中的“入门指南”,我设法使用指南中的“Spring 3.1”示例让 memcached 在我的项目中工作,我使用“spymemcached”作为提供者。当 memcached 服务器启动并运行时,一切正常。但是,当无法访问 memcache 服务器(故意关闭以进行测试)时,下划线代码不起作用并且应用程序不会执行,只是抛出运行时异常,说明无法连接到 memcache 服务器并发生超时。
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting
但是,在这种情况下,我期望的是每次都执行目标方法,因为缓存无法访问,而不是完全阻塞执行路径。这可以使用简单的 spring memcache 吗?,有没有人有这方面的经验?我该如何解决这种情况,缓存层的任何异常都不需要干扰执行,只需调用目标方法作为后备。这就是我想要达到的目标。
我用'fallbackToNoOpCache'尝试了spring'CompositeCacheManager',但看起来simple-spring-memcached对此没有影响。
我所有的配置都与(spring 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)