Я перешел из EhCache в Infinispan, и у меня есть требование, чтобы иметь возможность переключать кэши (не только глобально, но и для конкретного c имени кэша).
При использовании EhCache была опция setDisable(Boolean)
для отключить кеш.
Я бы хотел добиться чего-то похожего с Infinispan, однако я не хочу менять код моего приложения. Я имею в виду, я не хочу что-то вроде
if cache is enabled
...
else
...
Я жду чего-то такого, что N oOp операция кэширования, например, вызов put(key, object)
вообще ничего не делает (не только хранение, но не сериализация, не вычисления) и то же самое для других методов.
Поскольку я использую интеграцию Spring, я думал об использовании CompositeCacheManager
с NoOpCacheManager
откатом, но текущим существующим Интеграция Spring использует dynamici c создание кэша, поэтому getCache(String)
никогда не возвращает null
(таким образом NoOpCacheManager
никогда не используется).