K - the key type for this IMap proxy.V - the value type for this IMap proxy.public class NearCachedClientMapProxy<K,V> extends ClientMapProxy<K,V>
IMap implementation which is fronted by a Near Cache.GET_ASYNC_RESPONSE_DECODER, NULL_AGGREGATOR_IS_NOT_ALLOWED, NULL_KEY_IS_NOT_ALLOWED, NULL_LISTENER_IS_NOT_ALLOWED, NULL_PREDICATE_IS_NOT_ALLOWED, NULL_PROJECTION_IS_NOT_ALLOWED, NULL_VALUE_IS_NOT_ALLOWEDname| Constructor and Description |
|---|
NearCachedClientMapProxy(String serviceName,
String name,
ClientContext context) |
| Modifier and Type | Method and Description |
|---|---|
String |
addNearCacheInvalidationListener(EventHandler handler) |
void |
clear()
Clears the map and deletes the items from the backing map store.
|
protected boolean |
containsKeyInternal(Object key) |
protected void |
deleteInternal(Object key) |
void |
evictAll()
Evicts all keys from this map except the locked ones.
|
protected boolean |
evictInternal(Object key) |
Object |
executeOnKeyInternal(Object key,
EntryProcessor entryProcessor) |
protected void |
getAllInternal(Set<K> keys,
Map<Integer,List<Data>> partitionToKeyData,
List<Object> resultingKeyValuePairs) |
ICompletableFuture<V> |
getAsync(K key)
Asynchronously gets the given key.
|
protected V |
getInternal(Object key) |
LocalMapStats |
getLocalMapStats()
Returns LocalMapStats for this map.
|
NearCache<Object,Object> |
getNearCache() |
void |
loadAll(boolean replaceExistingValues)
Loads all keys into the store.
|
protected void |
loadAllInternal(boolean replaceExistingValues,
Collection<?> keysParameter) |
protected void |
onInitialize()
Called when proxy is created.
|
protected void |
onShutdown()
Called before client shutdown.
|
protected void |
postDestroy()
Called after proxy is destroyed.
|
protected Map<K,Object> |
prepareResult(Collection<Map.Entry<Data,Data>> entrySet) |
protected void |
putAllInternal(Map<? extends K,? extends V> map,
Map<Integer,List<Map.Entry<Data,Data>>> entryMap) |
protected ICompletableFuture<V> |
putAsyncInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected V |
putIfAbsentInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected V |
putInternal(long ttl,
TimeUnit ttlUnit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected void |
putTransientInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected void |
removeAllInternal(Predicate predicate) |
protected ICompletableFuture<V> |
removeAsyncInternal(Object key) |
protected com.hazelcast.client.impl.protocol.codec.MapRemoveCodec.ResponseParameters |
removeInternal(Object key) |
protected boolean |
removeInternal(Object key,
Object value) |
protected boolean |
replaceIfSameInternal(Object key,
Object oldValue,
Object newValue) |
protected V |
replaceInternal(Object key,
Object value) |
protected ICompletableFuture<Void> |
setAsyncInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected void |
setInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value) |
protected boolean |
setTtlInternal(Object key,
long ttl,
TimeUnit timeUnit) |
ICompletableFuture |
submitToKeyInternal(Object key,
EntryProcessor entryProcessor) |
void |
submitToKeyInternal(Object key,
EntryProcessor entryProcessor,
ExecutionCallback callback) |
protected boolean |
tryPutInternal(long timeout,
TimeUnit timeunit,
Object key,
Object value) |
protected boolean |
tryRemoveInternal(long timeout,
TimeUnit timeunit,
Object key) |
addEntryListener, addEntryListener, addEntryListener, addEntryListener, addEntryListener, addEntryListener, addEntryListener, addEntryListener, addIndex, addInterceptor, addLocalEntryListener, addLocalEntryListener, addLocalEntryListener, addLocalEntryListener, addLocalEntryListener, addLocalEntryListener, addPartitionLostListener, aggregate, aggregate, aggregate, aggregate, containsKey, containsValue, delete, entrySet, entrySet, evict, executeOnEntries, executeOnEntries, executeOnKey, executeOnKeys, fillPartitionToKeyData, flush, forceUnlock, get, getAll, getAsyncInternal, getEntryView, getQueryCache, getQueryCache, getQueryCache, getQueryCacheContext, isEmpty, isLocked, iterator, iterator, keySet, keySet, loadAll, localKeySet, localKeySet, lock, lock, onDestroy, project, project, put, put, put, putAll, putAsync, putAsync, putAsync, putIfAbsent, putIfAbsent, putIfAbsent, putTransient, putTransient, readFromEventJournal, remove, remove, removeAll, removeAsync, removeEntryListener, removeInterceptor, removePartitionLostListener, replace, replace, set, set, set, setAsync, setAsync, setAsync, setTtl, size, submitToKey, submitToKey, submitToKeys, subscribeToEventJournal, toString, tryLock, tryLock, tryLock, tryPut, tryRemove, unlock, values, valuesderegisterListener, destroy, destroyLocally, destroyRemotely, equals, getClient, getConnectedServerVersion, getContext, getDistributedObjectName, getId, getName, getPartitionKey, getSerializationService, getServiceName, hashCode, invoke, invoke, invokeOnAddress, invokeOnPartition, invokeOnPartitionInterruptibly, preDestroy, registerListener, setContext, toData, toObjectclone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, replaceAlldestroy, getName, getPartitionKey, getServiceNamepublic NearCachedClientMapProxy(String serviceName, String name, ClientContext context)
protected void onInitialize()
ClientProxyonInitialize in class ClientMapProxy<K,V>protected boolean containsKeyInternal(Object key)
containsKeyInternal in class ClientMapProxy<K,V>protected V getInternal(Object key)
getInternal in class ClientMapProxy<K,V>protected boolean setTtlInternal(Object key, long ttl, TimeUnit timeUnit)
setTtlInternal in class ClientMapProxy<K,V>public ICompletableFuture<V> getAsync(K key)
IMapICompletableFuture future = map.getAsync(key); // do some other stuff, when ready get the result. Object value = future.get();
Future.get() will block until the actual map.get() completes.
If the application requires timely response,
then Future.get(long, TimeUnit) can be used.
try {
ICompletableFuture future = map.getAsync(key);
Object value = future.get(40, TimeUnit.MILLISECOND);
} catch (TimeoutException t) {
// time wasn't enough
}
Additionally, the client can schedule an ExecutionCallback to be invoked upon
completion of the ICompletableFuture via
ICompletableFuture.andThen(ExecutionCallback) or
ICompletableFuture.andThen(ExecutionCallback, Executor):
// assuming an IMap<String, String>
ICompletableFuture<String> future = map.getAsync("a");
future.andThen(new ExecutionCallback<String>() {
public void onResponse(String response) {
// do something with value in response
}
public void onFailure(Throwable t) {
// handle failure
}
});
ExecutionException is never thrown.
Warning:
This method uses hashCode and equals of the binary form of
the key, not the actual implementations of hashCode and equals
defined in the key's class.
Interactions with the map store
If value with key is not found in memory
MapLoader.load(Object) is invoked to load the value from
the map store backing the map. Exceptions thrown by load fail
the operation and are propagated to the caller.
getAsync in interface IMap<K,V>getAsync in interface LegacyAsyncMap<K,V>getAsync in class ClientMapProxy<K,V>key - the key of the map entryICompletableFutureprotected com.hazelcast.client.impl.protocol.codec.MapRemoveCodec.ResponseParameters removeInternal(Object key)
removeInternal in class ClientMapProxy<K,V>protected boolean removeInternal(Object key, Object value)
removeInternal in class ClientMapProxy<K,V>protected void removeAllInternal(Predicate predicate)
removeAllInternal in class ClientMapProxy<K,V>protected void deleteInternal(Object key)
deleteInternal in class ClientMapProxy<K,V>protected ICompletableFuture<V> putAsyncInternal(long ttl, TimeUnit timeunit, Long maxIdle, TimeUnit maxIdleUnit, Object key, Object value)
putAsyncInternal in class ClientMapProxy<K,V>protected ICompletableFuture<Void> setAsyncInternal(long ttl, TimeUnit timeunit, Long maxIdle, TimeUnit maxIdleUnit, Object key, Object value)
setAsyncInternal in class ClientMapProxy<K,V>protected ICompletableFuture<V> removeAsyncInternal(Object key)
removeAsyncInternal in class ClientMapProxy<K,V>protected boolean tryRemoveInternal(long timeout,
TimeUnit timeunit,
Object key)
tryRemoveInternal in class ClientMapProxy<K,V>protected boolean tryPutInternal(long timeout,
TimeUnit timeunit,
Object key,
Object value)
tryPutInternal in class ClientMapProxy<K,V>protected V putInternal(long ttl, TimeUnit ttlUnit, Long maxIdle, TimeUnit maxIdleUnit, Object key, Object value)
putInternal in class ClientMapProxy<K,V>protected void putTransientInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value)
putTransientInternal in class ClientMapProxy<K,V>protected V putIfAbsentInternal(long ttl, TimeUnit timeunit, Long maxIdle, TimeUnit maxIdleUnit, Object key, Object value)
putIfAbsentInternal in class ClientMapProxy<K,V>protected boolean replaceIfSameInternal(Object key, Object oldValue, Object newValue)
replaceIfSameInternal in class ClientMapProxy<K,V>protected V replaceInternal(Object key, Object value)
replaceInternal in class ClientMapProxy<K,V>protected void setInternal(long ttl,
TimeUnit timeunit,
Long maxIdle,
TimeUnit maxIdleUnit,
Object key,
Object value)
setInternal in class ClientMapProxy<K,V>protected boolean evictInternal(Object key)
evictInternal in class ClientMapProxy<K,V>public void evictAll()
IMap
If a MapStore is defined for this map, deleteAll is
not called by this method. If you do want to
MapStore.deleteAll(Collection) to be called use the
IMap.clear() method.
The EVICT_ALL event is fired for any registered listeners.
See MapEvictedListener.mapEvicted(MapEvent) .
evictAll in interface IMap<K,V>evictAll in class ClientMapProxy<K,V>IMap.clear()public void loadAll(boolean replaceExistingValues)
IMapInteractions with the map store
Calls MapLoader.loadAllKeys() and with the loaded keys
calls MapLoader.loadAll(java.util.Collection) on each
partition. Exceptions thrown by loadAllKeys() or loadAll() are
not propagated to the caller.
loadAll in interface IMap<K,V>loadAll in class ClientMapProxy<K,V>replaceExistingValues - when true, existing values
in the Map will be replaced by those
loaded from the MapLoader
IMap.loadAll(boolean)protected void loadAllInternal(boolean replaceExistingValues,
Collection<?> keysParameter)
loadAllInternal in class ClientMapProxy<K,V>protected void getAllInternal(Set<K> keys, Map<Integer,List<Data>> partitionToKeyData, List<Object> resultingKeyValuePairs)
getAllInternal in class ClientMapProxy<K,V>public LocalMapStats getLocalMapStats()
IMapLocalMapStats are the statistics for the local portion of this distributed map and contains information such as ownedEntryCount backupEntryCount, lastUpdateTime, lockedEntryCount.
Since this stats are only for the local portion of this map, if you need the cluster-wide MapStats then you need to get the LocalMapStats from all members of the cluster and combine them.
It's guaranteed that the returned LocalMapStats instance contains
an up-to-date statistics. But over the time some parts of the returned
instance may become stale while others may be updated. To obtain a fresh
up-to-date instance invoke the method one more time.
getLocalMapStats in interface IMap<K,V>getLocalMapStats in class ClientMapProxy<K,V>public Object executeOnKeyInternal(Object key, EntryProcessor entryProcessor)
executeOnKeyInternal in class ClientMapProxy<K,V>public ICompletableFuture submitToKeyInternal(Object key, EntryProcessor entryProcessor)
submitToKeyInternal in class ClientMapProxy<K,V>public void submitToKeyInternal(Object key, EntryProcessor entryProcessor, ExecutionCallback callback)
submitToKeyInternal in class ClientMapProxy<K,V>protected Map<K,Object> prepareResult(Collection<Map.Entry<Data,Data>> entrySet)
prepareResult in class ClientMapProxy<K,V>protected void putAllInternal(Map<? extends K,? extends V> map, Map<Integer,List<Map.Entry<Data,Data>>> entryMap)
putAllInternal in class ClientMapProxy<K,V>public void clear()
IMap
The MAP_CLEARED event is fired for any registered listeners.
See MapClearedListener.mapCleared(MapEvent).
To clear the map without removing the items from the map store,
use IMap.evictAll().
Interactions with the map store
Calls MapStore.deleteAll(Collection) on each partition
with the keys that the given partition stores. Exceptions thrown
by deleteAll() are not propagated to the caller.
protected void postDestroy()
ClientProxypostDestroy in class ClientProxyprotected void onShutdown()
ClientProxyonShutdown in class ClientProxypublic String addNearCacheInvalidationListener(EventHandler handler)
Copyright © 2020 Hazelcast, Inc.. All Rights Reserved.