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.
| Modifier and Type | Field and Description |
|---|---|
protected Aggregator |
aggregator |
protected BatchOutputCollector |
delegateCollector |
protected Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> |
pendingTriggers |
protected AtomicInteger |
triggerId |
protected WindowManager<T> |
windowManager |
protected WindowsStore |
windowStore |
protected String |
windowTaskId |
| Constructor and Description |
|---|
AbstractTridentWindowManager(WindowConfig windowConfig,
String windowTaskId,
WindowsStore windowStore,
Aggregator aggregator,
BatchOutputCollector delegateCollector) |
| Modifier and Type | Method and Description |
|---|---|
Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> |
getPendingTriggers()
Returns pending triggers to be emitted.
|
protected abstract List<TridentTuple> |
getTridentTuples(List<T> tupleEvents)
Return
TridentTuples from given tupleEvents. |
protected abstract void |
initialize()
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 from
org.apache.storm.trident.planner.TridentProcessor’s prepare method. |
void |
shutdown()
This is invoked when from
org.apache.storm.trident.planner.TridentProcessor’s cleanup method. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddTuplesBatchprotected final WindowManager<T> windowManager
protected final Aggregator aggregator
protected final BatchOutputCollector delegateCollector
protected final String windowTaskId
protected final WindowsStore windowStore
protected final Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> pendingTriggers
protected final AtomicInteger triggerId
public AbstractTridentWindowManager(WindowConfig windowConfig, String windowTaskId, WindowsStore windowStore, Aggregator aggregator, BatchOutputCollector delegateCollector)
public void prepare()
ITridentWindowManagerThis is invoked from org.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
prepare in interface ITridentWindowManagerprotected abstract void initialize()
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.
expiredEvents - protected abstract List<TridentTuple> getTridentTuples(List<T> tupleEvents)
Return TridentTuples from given tupleEvents.
tupleEvents - public Queue<org.apache.storm.trident.windowing.AbstractTridentWindowManager.TriggerResult> getPendingTriggers()
ITridentWindowManagerReturns pending triggers to be emitted.
getPendingTriggers in interface ITridentWindowManagerpublic void shutdown()
ITridentWindowManagerThis is invoked when from org.apache.storm.trident.planner.TridentProcessor’s cleanup method. So, any cleanup operations like clearing cache or close store connection etc can be done.
shutdown in interface ITridentWindowManagerCopyright © 2022 The Apache Software Foundation. All Rights Reserved.