|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CacheWriter
A CacheWriter is an interface used for write-through and write-behind caching to a underlying resource.
If configured for a cache, CacheWriter's methods will be called on a cache operation. A cache put will cause a CacheWriter write and a cache remove will cause a writer delete. Implementers should create an implementation which handles storing and deleting to an underlying resource.CacheWriter
don't have any guaranteed ordering in write-behind mode.
The processing ordering can be different than the scheduling ordering, so your application needs to be written with this
in mind. More information in the CacheWriter chapter of the documentation.
CacheWriterConfiguration
that is set up for cache
that is using the CacheWriter.
See the CacheWriter chapter in the documentation for more information on how to use writers.
Method Summary | |
---|---|
CacheWriter |
clone(Ehcache cache)
Creates a clone of this writer. |
void |
delete(CacheEntry entry)
Delete the cache entry from the store |
void |
deleteAll(Collection<CacheEntry> entries)
Remove data and keys from the underlying store for the given collection of keys, if present. |
void |
dispose()
Providers may be doing all sorts of exotic things and need to be able to clean up on dispose. |
void |
init()
Notifies writer to initialise themselves. |
void |
throwAway(Element element,
SingleOperationType operationType,
RuntimeException e)
This method will be called, whenever an Element couldn't be handled by the writer and all the retryAttempts have been tried. |
void |
write(Element element)
Write the specified value under the specified key to the underlying store. |
void |
writeAll(Collection<Element> elements)
Write the specified Elements to the underlying store. |
Method Detail |
---|
CacheWriter clone(Ehcache cache) throws CloneNotSupportedException
CloneNotSupportedException
- if the extension could not be cloned.void init()
init
method should be able
to handle that situation. Unless you perform this multiple usage of a cache writer yourself,
Ehcache will not do this though. So in the majority of the use cases, you don't need to do
anything special.
CacheException
void dispose() throws CacheException
CacheException
void write(Element element) throws CacheException
element
- the element to be written
CacheException
void writeAll(Collection<Element> elements) throws CacheException
elements
- the Elements to be written
CacheException
void delete(CacheEntry entry) throws CacheException
entry
- the cache entry that is used for the delete operation
CacheException
void deleteAll(Collection<CacheEntry> entries) throws CacheException
entries
- the entries that have been removed from the cache
CacheException
void throwAway(Element element, SingleOperationType operationType, RuntimeException e)
retryAttempts
have been tried.
When batching is enabled all the elements in the failing batch will be passed to this methods
Try to not throw RuntimeExceptions from this method. Should an Exception occur, it will be logged, but the element will be lost anyways.
element
- the Element that triggered the failure, or one of the elements part of the batch that failedoperationType
- the operation we tried to executee
- the RuntimeException thrown by the Writer when the last retry attempt was being executed
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |