Interface CacheErrorHandler
- All Known Implementing Classes:
LoggingCacheErrorHandler,SimpleCacheErrorHandler
public interface CacheErrorHandler
A strategy for handling cache-related errors. In most cases, any
exception thrown by the provider should simply be thrown back at
the client but, in some circumstances, the infrastructure may need
to handle cache-provider exceptions in a different way.
Typically, failing to retrieve an object from the cache with a given id can be transparently managed as a cache miss by not throwing back such exception.
- Since:
- 4.1
- Author:
- Stephane Nicoll
-
Method Summary
Modifier and TypeMethodDescriptionvoidhandleCacheClearError(RuntimeException exception, Cache cache) Handle the given runtime exception thrown by the cache provider when clearing the specifiedCache, possibly rethrowing it as a fatal exception.voidhandleCacheEvictError(RuntimeException exception, Cache cache, Object key) Handle the given runtime exception thrown by the cache provider when clearing an item with the specifiedkey, possibly rethrowing it as a fatal exception.voidhandleCacheGetError(RuntimeException exception, Cache cache, Object key) Handle the given runtime exception thrown by the cache provider when retrieving an item with the specifiedkey, possibly rethrowing it as a fatal exception.voidhandleCachePutError(RuntimeException exception, Cache cache, Object key, Object value) Handle the given runtime exception thrown by the cache provider when updating an item with the specifiedkeyandvalue, possibly rethrowing it as a fatal exception.
-
Method Details
-
handleCacheGetError
Handle the given runtime exception thrown by the cache provider when retrieving an item with the specifiedkey, possibly rethrowing it as a fatal exception.Note that for a default
@Cacheablesetup, this will be called after an initial cache access failure, whereas the subsequent put step may independently fail and be handled inhandleCachePutError(java.lang.RuntimeException, org.springframework.cache.Cache, java.lang.Object, java.lang.Object)still. However, for@Cacheable(sync=true), there is only a combined get step withhandleCacheGetErrorbeing called in case of failure; there won't be a separate put attempt after initial cache access failure anymore.- Parameters:
exception- the exception thrown by the cache providercache- the cachekey- the key used to get the item- See Also:
-
handleCachePutError
void handleCachePutError(RuntimeException exception, Cache cache, Object key, @Nullable Object value) Handle the given runtime exception thrown by the cache provider when updating an item with the specifiedkeyandvalue, possibly rethrowing it as a fatal exception.- Parameters:
exception- the exception thrown by the cache providercache- the cachekey- the key used to update the itemvalue- the value to associate with the key- See Also:
-
handleCacheEvictError
Handle the given runtime exception thrown by the cache provider when clearing an item with the specifiedkey, possibly rethrowing it as a fatal exception.- Parameters:
exception- the exception thrown by the cache providercache- the cachekey- the key used to clear the item
-
handleCacheClearError
Handle the given runtime exception thrown by the cache provider when clearing the specifiedCache, possibly rethrowing it as a fatal exception.- Parameters:
exception- the exception thrown by the cache providercache- the cache to clear
-