K
- the type of keys maintained by this mapV
- the type of mapped valuespublic interface CacheWriter<K,V>
Exception
is thrown are
implementation specific.
Under Default Consistency, the non-batch writer methods are atomic with respect
to the corresponding cache operation.
For batch methods under Default Consistency, the entire cache operation
is not required to be atomic in Cache
and is therefore not required to
be atomic in the writer. As individual writer operations can fail, cache
operations are not required to occur until after the writer batch method has
returned or, in the case of partial success, thrown an exception. In the case of
partial success, the collection of entries must contain only those entries which
failed.
The behaviour of the caching implementation in the case of partial success is
undefined.
The semantics of Transactional Consistency are implementation specific.
The entry passed into write(javax.cache.Cache.Entry)
is independent
of the cache mapping for that key, meaning that if the value changes in the
cache or is removed it does not change the said entry.CacheLoader
Modifier and Type | Method and Description |
---|---|
void |
delete(Object key)
Delete the cache entry from the external resource.
|
void |
deleteAll(Collection<?> keys)
Remove data and keys from the external resource for the given collection of
keys, if present.
|
void |
write(Cache.Entry<? extends K,? extends V> entry)
Write the specified value under the specified key to the external resource.
|
void |
writeAll(Collection<Cache.Entry<? extends K,? extends V>> entries)
Write the specified entries to the external resource.
|
void write(Cache.Entry<? extends K,? extends V> entry)
entry
- the entry to be writtenCacheException
- if the write fails. If thrown the
cache mutation will not occur.void writeAll(Collection<Cache.Entry<? extends K,? extends V>> entries)
Cache.putAll(java.util.Map)
also has undefined ordering.
If this operation fails (by throwing an exception) after a partial success,
the writer must remove any successfully written entries from the entries
collection so that the caching implementation knows what succeeded and can
mutate the cache.entries
- the entries to be writtenCacheException
- if one or more of the writes fail. If
thrown cache mutations will occur for
entries which succeeded.void delete(Object key)
key
- the key that is used for the delete operationCacheException
- if delete fails. If thrown the
cache delete will not occur.void deleteAll(Collection<?> keys)
Cache.removeAll(java.util.Set)
also has undefined ordering.
If this operation fails (by throwing an exception) after a partial success,
the writer must remove any successfully written entries from the entries
collection so that the caching implementation knows what succeeded and can
mutate the cache.
Expiry of a cache entry is not a delete hence will not cause this method to
be invoked.keys
- the keys for entries that have to be removed from the cacheCacheException
- if one or more deletes fail. If thrown
cache deletes will occur for entries which succeeded.Copyright © 2013. All Rights Reserved.