public class WriteBehindStore extends AbstractMapDataStore<Data,Object>
| Modifier and Type | Class and Description | 
|---|---|
| static class  | WriteBehindStore.SequenceThe purpose of this class is to provide distinction
 between flushes caused by eviction and  IMap.flush() | 
| Constructor and Description | 
|---|
| WriteBehindStore(MapStoreContext mapStoreContext,
                int partitionId) | 
| Modifier and Type | Method and Description | 
|---|---|
| Object | add(Data key,
   Object value,
   long now) | 
| void | add(DelayedEntry<Data,Object> delayedEntry) | 
| Object | addBackup(Data key,
         Object value,
         long time) | 
| void | addTransient(Data key,
            long now) | 
| Object | flush(Data key,
     Object value,
     boolean backup)Flushes the supplied key to the map-store. | 
| Queue<WriteBehindStore.Sequence> | getFlushSequences() | 
| long | getSequenceToFlush() | 
| WriteBehindQueue<DelayedEntry> | getWriteBehindQueue() | 
| void | hardFlush()Flushes write-behind-queue into map-store in calling thread. | 
| Object | load(Data key) | 
| boolean | loadable(Data key)* Used in  IMap.loadAll(boolean)calls. | 
| Map | loadAll(Collection keys) | 
| int | notFinishedOperationsCount() | 
| void | notifyFlush() | 
| void | remove(Data key,
      long now) | 
| void | removeBackup(Data key,
            long time) | 
| protected void | removeFromStagingArea(DelayedEntry delayedEntry) | 
| void | reset()Returns all associated resources of this map-data-store back to the initial state. | 
| void | setFlushSequences(Queue<WriteBehindStore.Sequence> flushSequences) | 
| void | setSequence(long newSequence) | 
| void | setWriteBehindProcessor(WriteBehindProcessor writeBehindProcessor) | 
| void | setWriteBehindQueue(WriteBehindQueue<DelayedEntry> writeBehindQueue) | 
| long | softFlush()Only marks this  MapDataStoreas flush-able. | 
convertToObjectKeys, getStore, isPostProcessingMapStore, removeAll, toData, toObjectpublic WriteBehindStore(MapStoreContext mapStoreContext, int partitionId)
public void add(DelayedEntry<Data,Object> delayedEntry)
public void addTransient(Data key, long now)
public void remove(Data key, long now)
public void removeBackup(Data key, long time)
public void reset()
MapDataStorepublic Map loadAll(Collection keys)
loadAll in interface MapDataStore<Data,Object>loadAll in class AbstractMapDataStore<Data,Object>public boolean loadable(Data key)
IMap.loadAll(boolean) calls.
 If the write-behind map-store feature is enabled, some things may lead to possible data inconsistencies.
 These are:
 - calling evict/evictAll,
 - calling remove, and
 - not yet stored write-behind queue operations.
 
 With this method, we can be sure if a key can be loadable from map-store or not.key - the key to query whether it is loadable or not.true if loadable, false otherwise.public int notFinishedOperationsCount()
public Object flush(Data key, Object value, boolean backup)
MapDataStorekey - key to be flushedvalue - value to be flushedbackup - true calling this method for backup partition, false for owner partition.public long softFlush()
MapDataStoreMapDataStore as flush-able. Flush means storing entries from write-behind-queue into map-store
 regardless of the scheduled store-time. Actual flushing is done by another thread than partition-operation thread
 which runs StoreWorker.MapFlushOperationpublic void hardFlush()
MapDataStoreWriteBehindQueue
 of this MapDataStore should be in map-store regardless of the scheduled store-time.
 
 The only call to this method is in node-shutdown.MapManagedService.shutdown(boolean)public WriteBehindQueue<DelayedEntry> getWriteBehindQueue()
public void setWriteBehindQueue(WriteBehindQueue<DelayedEntry> writeBehindQueue)
public void setWriteBehindProcessor(WriteBehindProcessor writeBehindProcessor)
public void setSequence(long newSequence)
public void notifyFlush()
protected void removeFromStagingArea(DelayedEntry delayedEntry)
public Queue<WriteBehindStore.Sequence> getFlushSequences()
public long getSequenceToFlush()
public void setFlushSequences(Queue<WriteBehindStore.Sequence> flushSequences)
Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.