|
Oracle® Coherence Java API Reference Release 12.1.2.0.3 E26043-02 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.tangosol.io.journal.BackupJournalRM
public class BackupJournalRM
The BackupJournalRM is a "meta" journal resource manager that is intended to be used for storage of "backup" data. This resource manager passes all writes to a RAM journal until the RAM journal hits a certain load factor, after which it passes all writes to the flash journal that the RAM journal overflows to, and also it evacuates the items stored in RAM to flash.
Nested Class Summary | |
---|---|
protected class |
BackupJournalRM.FlashConsumer The FlashConsumer is a "dummy" consumer used to obtain a flash journal instance. |
protected class |
BackupJournalRM.JournalImpl A Journal implementation managed by this Journal Resource Manager. |
protected class |
BackupJournalRM.RamConsumer The RamConsumer is a pass-through consumer used to obtain a ram journal instance. |
Constructor Summary | |
---|---|
BackupJournalRM(RamJournalRM jrnlrmRam, double dflLoadFactorLimit) Construct a BackupJournalRM based on a RamJournalRM. |
Method Summary | |
---|---|
void |
close() Deprecated. use the Disposable interface |
JournalBinaryStore |
createBinaryStore() Create a new BinaryStore that will journal its information using this Journal Resource Manager. |
Journal |
createJournal(Journal.JournalConsumer consumer) Create a new Journal that exposes the storage capabilities of this Journal Resource Manager. |
void |
destroyBinaryStore(BinaryStore store) Lifecycle method: Destroy a BinaryStore previously created by this manager. |
void |
dispose() |
protected void |
evacuateRam() Move all data that is owned by the consumers of this BackupJournalRM from the RAM journal to the flash journal. |
FlashJournalRM |
getFlashJournalRM() Obtain the underlying FlashJournalRM. |
double |
getLoadFactorLimit() Determine the high-water mark load factor for the RAM journal above which all writes are delegated to the flash journal. |
RamJournalRM |
getRamJournalRM() Obtain the underlying RamJournalRM. |
protected BackupJournalRM.FlashConsumer |
instantiateFlashConsumer() Factory: Instantiate a FlashConsumer object. |
protected BackupJournalRM.JournalImpl |
instantiateJournal() Instantiate a JournalImpl object. |
protected BackupJournalRM.JournalImpl |
instantiateJournal(Journal jrnlRam, Journal jrnlFlash) Factory: Instantiate a JournalImpl object. |
protected BackupJournalRM.RamConsumer |
instantiateRamConsumer() Factory: Instantiate a RamConsumer object. |
boolean |
isLimitExceeded() Determine if the RAM journal load factor has been exceeded. |
protected java.util.Iterator |
iterateJournals() Iterate through the Journal instances that have been created by this Journal Resource Manager but have not been disposed of yet. |
protected void |
registerJournal(BackupJournalRM.JournalImpl journal) Register a Journal that uses this Journal Resource Manager. |
protected void |
unregisterJournal(BackupJournalRM.JournalImpl journal) Register a Journal that uses this Journal Resource Manager. |
Constructor Detail |
---|
public BackupJournalRM(RamJournalRM jrnlrmRam, double dflLoadFactorLimit)
jrnlrmRam
- the RamJournalRM to delegate to; note that the RamJournalRM must have a FlashJournalRM behind itdflLoadFactorLimit
- the load factor of the RamJournalRM that will cause the BackupJournalRM to switch to storing data directly in the FlashJournalRMMethod Detail |
---|
public RamJournalRM getRamJournalRM()
public FlashJournalRM getFlashJournalRM()
public double getLoadFactorLimit()
public boolean isLimitExceeded()
This method also has the side-effect of evacuating the RAM journal to the flash journal once the limit has been exceeded.
public JournalBinaryStore createBinaryStore()
createBinaryStore
in interface BinaryStoreManager
public void destroyBinaryStore(BinaryStore store)
destroyBinaryStore
in interface BinaryStoreManager
store
- a BinaryStore object previously created by this managerpublic Journal createJournal(Journal.JournalConsumer consumer)
consumer
- the JournalConsumer that will be using the Journalpublic void dispose()
dispose
in interface com.oracle.common.base.Disposable
public void close()
protected void evacuateRam()
protected BackupJournalRM.JournalImpl instantiateJournal()
protected BackupJournalRM.JournalImpl instantiateJournal(Journal jrnlRam, Journal jrnlFlash)
jrnlRam
- the RAM journal to usejrnlFlash
- the flash journal to useprotected void registerJournal(BackupJournalRM.JournalImpl journal)
journal
- an instance of JournalImpl created by this Journal Resource Managerprotected void unregisterJournal(BackupJournalRM.JournalImpl journal)
journal
- an instance of JournalImpl created by this Journal Resource Managerprotected java.util.Iterator iterateJournals()
protected BackupJournalRM.RamConsumer instantiateRamConsumer()
protected BackupJournalRM.FlashConsumer instantiateFlashConsumer()
|
Oracle® Coherence Java API Reference Release 12.1.2.0.3 E26043-02 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |