Package com.illumon.iris.db.v2.utils
Class TableLogger
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable
,NotificationQueue.Dependency
,LivenessManager
,LivenessNode
,LivenessReferent
,Listener
,ListenerBase
,Serializable
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.illumon.iris.db.v2.InstrumentedListener
InstrumentedListener.Notification
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.InstrumentedListenerBase
InstrumentedListenerBase.ErrorNotification, InstrumentedListenerBase.NotificationBase
-
Field Summary
Fields inherited from class com.illumon.iris.db.v2.InstrumentedListenerAdapter
source
-
Constructor Summary
ConstructorsConstructorDescriptionTableLogger
(Database db, String namespace, String tableName, String partColumn, String partitionKey, ReplayerInterface replayer, DynamicTable table, boolean append, TableLogger.StoreMode storeMode, long snapshotIntervalMillis) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
flush()
static TableDefinition
getDefinition
(Table table, TableLogger.StoreMode storeMode) void
Process notification of table changes.void
setReplayer
(Replayer replayer) Methods inherited from class com.illumon.iris.db.v2.InstrumentedListenerAdapter
canExecute, destroy, onFailureInternal
Methods inherited from class com.illumon.iris.db.v2.InstrumentedListener
getNotification, setInitialImage
Methods inherited from class com.illumon.iris.db.v2.InstrumentedListenerBase
append, getEntry, getErrorNotification, onFailure, onFailureInternalWithDependent, satisfied, setVerboseLogging, toString
Methods inherited from class com.illumon.iris.db.util.liveness.LivenessArtifact
manageWithCurrentScope, unmanage, unmanage
Methods inherited from class com.illumon.iris.db.util.liveness.ReferenceCountedLivenessNode
dropReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryRetainReference
Methods inherited from class com.illumon.util.referencecounting.ReferenceCounted
decrementReferenceCount, incrementReferenceCount, resetReferenceCount, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.ListenerBase
getErrorNotification, onFailure
Methods inherited from interface com.illumon.iris.db.util.liveness.LivenessManager
manage, tryManage
Methods inherited from interface com.illumon.iris.db.util.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference
-
Constructor Details
-
TableLogger
public TableLogger(Database db, String namespace, String tableName, String partColumn, String partitionKey, ReplayerInterface replayer, DynamicTable table, boolean append, TableLogger.StoreMode storeMode, long snapshotIntervalMillis) throws IOException - Throws:
IOException
-
-
Method Details
-
getDefinition
-
getDefinition
-
setReplayer
-
flush
- Throws:
IOException
-
close
- Throws:
IOException
-
onUpdate
Description copied from interface:Listener
Process notification of table changes.The Listener onUpdate call executes within the
LiveTableMonitor
refresh loop. Any tables used within the listener's onUpdate call must have already been refreshed. Using the typical pattern of a Listener that is listening to a single table, withDynamicTable.listenForUpdates(Listener)
, this is trivially true.When the listener must reference more than just one parent, the tables (or other objects) it references, must be made a
NotificationQueue.Dependency
of the listener. For listeners that reference multiple ticking tables, a common pattern is to use aMergedListener
and collection ofListenerRecorder
s.- Specified by:
onUpdate
in interfaceListener
- Specified by:
onUpdate
in classInstrumentedListenerAdapter
- Parameters:
added
- rows addedremoved
- rows removedmodified
- rows modified
-