K
- the type of key.V
- the type of value.public class CacheProxy<K,V> extends Object
This proxy is the implementation of ICache and javax.cache.Cache which is returned by HazelcastServerCacheManager. It represents a cache for server or embedded mode.
Each cache method actually is an operation which is sent to related partition(s) or node(s). Operations are executed on partition's or node's executor pools and the results are delivered to the user.
In order to access a CacheProxy by name, a cacheManager should be used. It's advised to use
ICache
instead.
Modifier and Type | Field and Description |
---|---|
protected CacheConfig<K,V> |
cacheConfig |
protected ICacheService |
cacheService |
protected ILogger |
logger |
protected String |
name |
protected String |
nameWithPrefix |
protected CacheOperationProvider |
operationProvider |
protected SerializationService |
serializationService |
Modifier | Constructor and Description |
---|---|
protected |
CacheProxy(CacheConfig cacheConfig,
NodeEngine nodeEngine,
ICacheService cacheService,
HazelcastServerCacheManager cacheManager) |
Modifier and Type | Method and Description |
---|---|
protected void |
addListenerLocally(String regId,
javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration) |
void |
clear() |
protected void |
clearInternal() |
void |
close() |
protected void |
closeCacheLoader() |
protected void |
closeListeners() |
boolean |
containsKey(K key) |
protected void |
countDownCompletionLatch(int id) |
void |
deregisterAllCacheEntryListener(Collection<String> listenerRegistrations) |
void |
deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration) |
protected void |
deregisterCompletionLatch(Integer countDownLatchId) |
protected void |
deregisterCompletionListener() |
void |
destroy() |
protected void |
ensureOpen() |
V |
get(K key) |
V |
get(K key,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Gets a key with custom expiry policy.
|
Map<K,V> |
getAll(Set<? extends K> keys) |
Map<K,V> |
getAll(Set<? extends K> keys,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
getAll operation with custom expiry policy.
|
V |
getAndPut(K key,
V value) |
V |
getAndPut(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
getAndPut operation with custom expiry policy.
|
ICompletableFuture<V> |
getAndPutAsync(K key,
V value)
Asynchronously associates the specified value with the specified key in this cache,
returning an existing value if one existed.
|
ICompletableFuture<V> |
getAndPutAsync(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously associates the specified value with the specified key in this cache,
returning an existing value if one existed using a custom expiry policy.
|
V |
getAndRemove(K key) |
ICompletableFuture<V> |
getAndRemoveAsync(K key)
Asynchronously removes the entry for a key returning the removed value if one existed.
|
V |
getAndReplace(K key,
V value) |
V |
getAndReplace(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
getAndReplace operation with custom expiry policy.
|
ICompletableFuture<V> |
getAndReplaceAsync(K key,
V value)
Asynchronously replaces the entry for a key only if it is currently mapped to some value.
|
ICompletableFuture<V> |
getAndReplaceAsync(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously replaces the entry for a key only if it is currently mapped to some value
using custom expiry policy.
|
InternalCompletableFuture<V> |
getAsync(K key)
Asynchronously gets an entry from cache.
|
InternalCompletableFuture<V> |
getAsync(K key,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously gets an entry from cache with a provided expiry policy.
|
javax.cache.CacheManager |
getCacheManager() |
<C extends javax.cache.configuration.Configuration<K,V>> |
getConfiguration(Class<C> clazz) |
protected String |
getDistributedObjectName() |
CacheStatistics |
getLocalCacheStatistics()
Directly access to local Cache Statistics.
|
String |
getName() |
protected NodeEngine |
getNodeEngine() |
protected ICacheService |
getService() |
protected String |
getServiceName() |
<T> T |
invoke(K key,
javax.cache.processor.EntryProcessor<K,V,T> entryProcessor,
Object... arguments) |
protected <T> InternalCompletableFuture<T> |
invoke(Operation op,
Data keyData,
boolean completionOperation) |
<T> Map<K,javax.cache.processor.EntryProcessorResult<T>> |
invokeAll(Set<? extends K> keys,
javax.cache.processor.EntryProcessor<K,V,T> entryProcessor,
Object... arguments) |
boolean |
isClosed() |
Iterator<javax.cache.Cache.Entry<K,V>> |
iterator() |
void |
loadAll(Set<? extends K> keys,
boolean replaceExistingValues,
javax.cache.integration.CompletionListener completionListener) |
void |
put(K key,
V value) |
void |
put(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
put operation with custom expiry policy.
|
void |
putAll(Map<? extends K,? extends V> map) |
void |
putAll(Map<? extends K,? extends V> map,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
putAll operation with custom expiry policy.
|
InternalCompletableFuture<Void> |
putAsync(K key,
V value)
Asynchronously associates the specified value with the specified key in the cache.
|
InternalCompletableFuture<Void> |
putAsync(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously associates the specified value with the specified key in the cache using a
custom expiry policy.
|
protected <T> InternalCompletableFuture<T> |
putAsyncInternal(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy,
boolean isGet,
boolean withCompletionEvent) |
boolean |
putIfAbsent(K key,
V value) |
boolean |
putIfAbsent(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
putIfAbsent operation with custom expiry policy.
|
InternalCompletableFuture<Boolean> |
putIfAbsentAsync(K key,
V value)
Asynchronously associates the specified value with the specified key in the cache if not already exist.
|
InternalCompletableFuture<Boolean> |
putIfAbsentAsync(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously associates the specified value with the specified key in the cache if not already exist,
using a custom expiry policy.
|
protected InternalCompletableFuture<Boolean> |
putIfAbsentAsyncInternal(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy,
boolean withCompletionEvent) |
void |
registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration) |
protected Integer |
registerCompletionLatch(int count) |
protected void |
registerCompletionListener() |
boolean |
remove(K key) |
boolean |
remove(K key,
V oldValue) |
void |
removeAll() |
void |
removeAll(Set<? extends K> keys) |
protected void |
removeAllInternal(Set<? extends K> keys) |
InternalCompletableFuture<Boolean> |
removeAsync(K key)
Asynchronously removes the mapping for a key from this cache if it is present.
|
InternalCompletableFuture<Boolean> |
removeAsync(K key,
V oldValue)
Asynchronously removes the mapping for a key only if it is currently mapped to the
given value.
|
protected <T> InternalCompletableFuture<T> |
removeAsyncInternal(K key,
V oldValue,
boolean hasOldValue,
boolean isGet,
boolean withCompletionEvent) |
protected String |
removeListenerLocally(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration) |
boolean |
replace(K key,
V value) |
boolean |
replace(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
replace operation with custom expiry policy.
|
boolean |
replace(K key,
V oldValue,
V newValue) |
boolean |
replace(K key,
V oldValue,
V newValue,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
replace operation with custom expiry policy.
|
ICompletableFuture<Boolean> |
replaceAsync(K key,
V value)
Asynchronously replaces the entry for a key.
|
ICompletableFuture<Boolean> |
replaceAsync(K key,
V value,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously replaces the entry for a key only if it is currently mapped to some
value.
|
ICompletableFuture<Boolean> |
replaceAsync(K key,
V oldValue,
V newValue)
Asynchronously replaces the entry for a key only if it is currently mapped to a
given value.
|
ICompletableFuture<Boolean> |
replaceAsync(K key,
V oldValue,
V newValue,
javax.cache.expiry.ExpiryPolicy expiryPolicy)
Asynchronously replaces the entry for a key only if it is currently mapped to a
given value using custom expiry policy.
|
protected <T> InternalCompletableFuture<T> |
replaceAsyncInternal(K key,
V oldValue,
V newValue,
javax.cache.expiry.ExpiryPolicy expiryPolicy,
boolean hasOldValue,
boolean isGet,
boolean withCompletionEvent) |
int |
size()
Total entry count.
|
protected void |
submitLoadAllTask(OperationFactory operationFactory,
javax.cache.integration.CompletionListener completionListener) |
<T> T |
unwrap(Class<T> clazz) |
protected void |
updateCacheListenerConfigOnOtherNodes(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration,
boolean isRegister) |
protected void |
validateCacheLoader(javax.cache.integration.CompletionListener completionListener) |
protected void |
waitCompletionLatch(Integer countDownLatchId) |
protected void |
waitCompletionLatch(Integer countDownLatchId,
int offset) |
protected final ILogger logger
protected final CacheConfig<K,V> cacheConfig
protected final String name
protected final String nameWithPrefix
protected final ICacheService cacheService
protected final SerializationService serializationService
protected final CacheOperationProvider operationProvider
protected CacheProxy(CacheConfig cacheConfig, NodeEngine nodeEngine, ICacheService cacheService, HazelcastServerCacheManager cacheManager)
public boolean containsKey(K key)
public void loadAll(Set<? extends K> keys, boolean replaceExistingValues, javax.cache.integration.CompletionListener completionListener)
public boolean remove(K key)
public void removeAll()
public void clear()
public <C extends javax.cache.configuration.Configuration<K,V>> C getConfiguration(Class<C> clazz)
public <T> T invoke(K key, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments) throws javax.cache.processor.EntryProcessorException
javax.cache.processor.EntryProcessorException
public <T> Map<K,javax.cache.processor.EntryProcessorResult<T>> invokeAll(Set<? extends K> keys, javax.cache.processor.EntryProcessor<K,V,T> entryProcessor, Object... arguments)
public String getName()
public javax.cache.CacheManager getCacheManager()
public <T> T unwrap(Class<T> clazz)
public void registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
public void deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
protected void updateCacheListenerConfigOnOtherNodes(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration, boolean isRegister)
public InternalCompletableFuture<V> getAsync(K key)
ICache
key
- the key whose associated value is to be returned.javax.cache.Cache#get(K)
,
ICompletableFuture
public InternalCompletableFuture<V> getAsync(K key, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key whose associated value is to be returned.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#get(K)
,
ICompletableFuture
public InternalCompletableFuture<Void> putAsync(K key, V value)
ICache
key
- the key whose associated value is to be returned.value
- the value to be associated with the specified key.javax.cache.Cache#put(K,V)
,
ICompletableFuture
public InternalCompletableFuture<Void> putAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key whose associated value is to be returned.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#put(K,V)
,
ICompletableFuture
public InternalCompletableFuture<Boolean> putIfAbsentAsync(K key, V value)
ICache
key
- the key with which the specified value is to be associated.value
- the value to be associated with the specified key.javax.cache.Cache#putIfAbsent(K,V)
,
ICompletableFuture
public InternalCompletableFuture<Boolean> putIfAbsentAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is to be associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#putIfAbsent(K,V)
,
ICompletableFuture
public ICompletableFuture<V> getAndPutAsync(K key, V value)
ICache
key
- the key whose associated value is to be returned.value
- the value to be associated with the specified key.javax.cache.Cache#getAndPut(K,V)
,
ICompletableFuture
public ICompletableFuture<V> getAndPutAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key whose associated value is to be returned.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#getAndPut(K,V)
,
ICompletableFuture
public InternalCompletableFuture<Boolean> removeAsync(K key)
ICache
key
- the key whose associated value is to be returned.javax.cache.Cache#remove(K)
,
ICompletableFuture
public InternalCompletableFuture<Boolean> removeAsync(K key, V oldValue)
ICache
key
- the key whose associated value is to be returned.oldValue
- the value expected to be associated with the specified key.javax.cache.Cache#remove(K,V)
,
ICompletableFuture
public ICompletableFuture<V> getAndRemoveAsync(K key)
ICache
key
- the key whose associated value is to be returned.javax.cache.Cache#getAndRemove(K)
,
ICompletableFuture
public ICompletableFuture<Boolean> replaceAsync(K key, V value)
ICache
key
- the key whose associated value is to be returned.value
- the value to be associated with the specified key.javax.cache.Cache#replace(K,V)
,
ICompletableFuture
public ICompletableFuture<Boolean> replaceAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#replace(K,V)
,
ICompletableFuture
public ICompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue)
ICache
key
- the key with which the specified value is associated.oldValue
- the value expected to be associated with the specified key.newValue
- the value to be associated with the specified key.javax.cache.Cache#replace(K,V,V)
,
ICompletableFuture
public ICompletableFuture<Boolean> replaceAsync(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.oldValue
- the value expected to be associated with the specified key.newValue
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#replace(K,V,V)
,
ICompletableFuture
public ICompletableFuture<V> getAndReplaceAsync(K key, V value)
ICache
key
- the key with which the specified value is associated.value
- the value to be associated with the specified key.javax.cache.Cache#getAndReplace(K,V)
,
ICompletableFuture
public ICompletableFuture<V> getAndReplaceAsync(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#getAndReplace(K,V)
,
ICompletableFuture
public V get(K key, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key whose associated value is to be returned.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#get(K)
,
ICompletableFuture
public Map<K,V> getAll(Set<? extends K> keys, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
keys
- the keys whose associated values are to be returned.expiryPolicy
- custom expiry policy for this operation.Cache.getAll(java.util.Set)
,
ICompletableFuture
public void put(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is to be associated.value
- value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#put(K,V)
,
ICompletableFuture
public V getAndPut(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is to be associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#getAndPut(K,V)
,
ICompletableFuture
public void putAll(Map<? extends K,? extends V> map, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
map
- the mappings to be stored in this cache.expiryPolicy
- custom expiry policy for this operation.Cache.putAll(java.util.Map)
,
ICompletableFuture
public boolean putIfAbsent(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is to be associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#putIfAbsent(K,V)
,
ICompletableFuture
public boolean replace(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.oldValue
- the value expected to be associated with the specified key.newValue
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#replace(K,V,V)
,
ICompletableFuture
public boolean replace(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.public V getAndReplace(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy)
ICache
key
- the key with which the specified value is associated.value
- the value to be associated with the specified key.expiryPolicy
- custom expiry policy for this operation.javax.cache.Cache#getAndReplace(K,V)
,
ICompletableFuture
public int size()
ICache
public CacheStatistics getLocalCacheStatistics()
ICache
protected <T> InternalCompletableFuture<T> invoke(Operation op, Data keyData, boolean completionOperation)
protected <T> InternalCompletableFuture<T> removeAsyncInternal(K key, V oldValue, boolean hasOldValue, boolean isGet, boolean withCompletionEvent)
protected <T> InternalCompletableFuture<T> replaceAsyncInternal(K key, V oldValue, V newValue, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean hasOldValue, boolean isGet, boolean withCompletionEvent)
protected <T> InternalCompletableFuture<T> putAsyncInternal(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean isGet, boolean withCompletionEvent)
protected InternalCompletableFuture<Boolean> putIfAbsentAsyncInternal(K key, V value, javax.cache.expiry.ExpiryPolicy expiryPolicy, boolean withCompletionEvent)
protected void clearInternal()
protected void removeAllInternal(Set<? extends K> keys)
protected void addListenerLocally(String regId, javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
protected String removeListenerLocally(javax.cache.configuration.CacheEntryListenerConfiguration<K,V> cacheEntryListenerConfiguration)
public void deregisterAllCacheEntryListener(Collection<String> listenerRegistrations)
protected void closeListeners()
protected void countDownCompletionLatch(int id)
protected Integer registerCompletionLatch(int count)
protected void deregisterCompletionLatch(Integer countDownLatchId)
protected void waitCompletionLatch(Integer countDownLatchId)
protected void waitCompletionLatch(Integer countDownLatchId, int offset)
protected void registerCompletionListener()
protected void deregisterCompletionListener()
protected void ensureOpen()
public void close()
public void destroy()
public boolean isClosed()
protected String getDistributedObjectName()
protected String getServiceName()
protected ICacheService getService()
protected NodeEngine getNodeEngine()
protected void validateCacheLoader(javax.cache.integration.CompletionListener completionListener)
protected void closeCacheLoader()
protected void submitLoadAllTask(OperationFactory operationFactory, javax.cache.integration.CompletionListener completionListener)
Copyright © 2014 Hazelcast, Inc.. All Rights Reserved.