Class AbstractTridentWindowManager<T>
java.lang.Object
org.apache.storm.trident.windowing.AbstractTridentWindowManager<T>
- All Implemented Interfaces:
ITridentWindowManager
- Direct Known Subclasses:
InMemoryTridentWindowManager
,StoreBasedTridentWindowManager
public abstract class AbstractTridentWindowManager<T>
extends Object
implements ITridentWindowManager
Basic functionality to manage trident tuple events using
WindowManager
and WindowsStore
for storing tuples and triggers
related information.-
Field Summary
Modifier and TypeFieldDescriptionprotected final Aggregator
protected final BatchOutputCollector
protected final Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult>
protected final AtomicInteger
protected final WindowManager<T>
protected final WindowsStore
protected final String
-
Constructor Summary
ConstructorDescriptionAbstractTridentWindowManager
(WindowConfig windowConfig, String windowTaskId, WindowsStore windowStore, Aggregator aggregator, BatchOutputCollector delegateCollector) -
Method Summary
Modifier and TypeMethodDescriptionQueue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult>
Returns pending triggers to be emitted.protected abstract List<TridentTuple>
getTridentTuples
(List<T> tupleEvents) ReturnTridentTuple
s from giventupleEvents
.protected abstract void
Load and initialize any resources into window manager before windowing for component/task is activated.protected abstract void
onTuplesExpired
(List<T> expiredEvents) Handle expired tuple events which can be removing from cache or store.void
prepare()
This is invoked fromorg.apache.storm.trident.planner.TridentProcessor
's prepare method.void
shutdown()
This is invoked when fromorg.apache.storm.trident.planner.TridentProcessor
's cleanup method.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.storm.trident.windowing.ITridentWindowManager
addTuplesBatch
-
Field Details
-
windowManager
-
aggregator
-
delegateCollector
-
windowTaskId
-
windowStore
-
pendingTriggers
protected final Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> pendingTriggers -
triggerId
-
-
Constructor Details
-
AbstractTridentWindowManager
public AbstractTridentWindowManager(WindowConfig windowConfig, String windowTaskId, WindowsStore windowStore, Aggregator aggregator, BatchOutputCollector delegateCollector)
-
-
Method Details
-
prepare
public void prepare()Description copied from interface:ITridentWindowManager
This is invoked fromorg.apache.storm.trident.planner.TridentProcessor
's prepare method. So any initialization tasks can be done before the topology starts accepting tuples. For ex: initialize window manager with any earlier stored tuples/triggers and start WindowManager.- Specified by:
prepare
in interfaceITridentWindowManager
-
initialize
protected abstract void initialize()Load and initialize any resources into window manager before windowing for component/task is activated. -
onTuplesExpired
Handle expired tuple events which can be removing from cache or store. -
getTridentTuples
ReturnTridentTuple
s from giventupleEvents
. -
getPendingTriggers
public Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> getPendingTriggers()Description copied from interface:ITridentWindowManager
Returns pending triggers to be emitted.- Specified by:
getPendingTriggers
in interfaceITridentWindowManager
-
shutdown
public void shutdown()Description copied from interface:ITridentWindowManager
This is invoked when fromorg.apache.storm.trident.planner.TridentProcessor
's cleanup method. So, any cleanup operations like clearing cache or close store connection etc can be done.- Specified by:
shutdown
in interfaceITridentWindowManager
-