Благодаря «Руководству по началу работы» в «simple-spring-memcached» мне удалось заставить memcached работать в моем проекте, используя пример «Spring 3.1» в руководстве, я использую «spymemcached» в качестве поставщика. Все работает хорошо, когда сервер memcached запущен и работает. Однако, когда сервер memcache недоступен (преднамеренно отключен для тестирования), код подчеркивания не работает, и приложение не будет выполняться, просто выдавая исключение времени выполнения, заявляя, что невозможно подключиться к серверу memcache, и происходит тайм-аут.
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting
Однако в этом сценарии я ожидаю, что целевой метод будет выполняться каждый раз, когда кеш недоступен, а не полностью блокировать путь выполнения. Возможно ли это с помощью простого весеннего кэша памяти? , есть ли у кого-нибудь опыт в этом? как мне решить эту ситуацию? Любое исключение на уровне кеша не должно мешать выполнению, просто нужно вызвать целевой метод в качестве резервного варианта. Это то, чего я пытаюсь достичь.
Я пробовал использовать spring CompositeCacheManager с fallbackToNoOpCache, но похоже, что 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)