Package org.apache.storm.windowing
Class WindowManager<T>
java.lang.Object
org.apache.storm.windowing.WindowManager<T>
- Type Parameters:
- T- the type of event in the window.
- All Implemented Interfaces:
- TriggerHandler
- Direct Known Subclasses:
- StatefulWindowManager
Tracks a window of events and fires 
WindowLifecycleListener callbacks on expiry of events or activation of the window due to
 TriggerPolicy.- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected EvictionPolicy<T,?> static final intExpire old events every EXPIRE_EVENTS_THRESHOLD to keep the window size in check.protected final Collection<Event<T>>protected TriggerPolicy<T,?> protected final WindowLifecycleListener<T>
- 
Constructor SummaryConstructorsConstructorDescriptionWindowManager(WindowLifecycleListener<T> lifecycleListener) WindowManager(WindowLifecycleListener<T> lifecycleListener, Collection<Event<T>> queue) Constructs aWindowManager.
- 
Method SummaryModifier and TypeMethodDescriptionvoidTracks a window event.voidAdd an event into the window, withSystem.currentTimeMillis()as the tracking ts.voidAdd an event into the window, with the given ts as the tracking ts.protected voidexpires events that fall out of the window every EXPIRE_EVENTS_THRESHOLD so that the window does not grow too big.longgetEarliestEventTs(long startTs, long endTs) Scans the event queue and returns the next earliest event ts between the startTs and endTs.intgetEventCount(long referenceTime) Scans the event queue and returns number of events having timestamp less than or equal to the reference time.getSlidingCountTimestamps(long startTs, long endTs, int slidingCount) Scans the event queue and returns the list of event ts falling between startTs (exclusive) and endTs (inclusive) at each sliding interval counts.getState()booleanThe callback invoked by the trigger policy.voidrestoreState(Map<String, Optional<?>> state) voidsetEvictionPolicy(EvictionPolicy<T, ?> evictionPolicy) voidsetTriggerPolicy(TriggerPolicy<T, ?> triggerPolicy) voidshutdown()toString()
- 
Field Details- 
EXPIRE_EVENTS_THRESHOLDpublic static final int EXPIRE_EVENTS_THRESHOLDExpire old events every EXPIRE_EVENTS_THRESHOLD to keep the window size in check.Note that if the eviction policy is based on watermarks, events will not be evicted until a new watermark would cause them to be considered expired anyway, regardless of this limit - See Also:
 
- 
queue
- 
windowLifecycleListener
- 
evictionPolicy
- 
triggerPolicy
 
- 
- 
Constructor Details- 
WindowManager
- 
WindowManagerConstructs aWindowManager.- Parameters:
- lifecycleListener- the- WindowLifecycleListener
- queue- a collection where the events in the window can be enqueued.
 Note: This collection has to be thread safe.
 
 
- 
- 
Method Details- 
setEvictionPolicy
- 
setTriggerPolicy
- 
addAdd an event into the window, withSystem.currentTimeMillis()as the tracking ts.- Parameters:
- event- the event to add
 
- 
addAdd an event into the window, with the given ts as the tracking ts.- Parameters:
- event- the event to track
- ts- the timestamp
 
- 
addTracks a window event.- Parameters:
- windowEvent- the window event to track
 
- 
onTriggerpublic boolean onTrigger()The callback invoked by the trigger policy.- Specified by:
- onTriggerin interface- TriggerHandler
- Returns:
- true if the window was evaluated with at least one event in the window, false otherwise
 
- 
shutdownpublic void shutdown()
- 
compactWindowprotected void compactWindow()expires events that fall out of the window every EXPIRE_EVENTS_THRESHOLD so that the window does not grow too big.
- 
getEarliestEventTspublic long getEarliestEventTs(long startTs, long endTs) Scans the event queue and returns the next earliest event ts between the startTs and endTs.- Parameters:
- startTs- the start ts (exclusive)
- endTs- the end ts (inclusive)
- Returns:
- the earliest event ts between startTs and endTs
 
- 
getEventCountpublic int getEventCount(long referenceTime) Scans the event queue and returns number of events having timestamp less than or equal to the reference time.- Parameters:
- referenceTime- the reference timestamp in millis
- Returns:
- the count of events with timestamp less than or equal to referenceTime
 
- 
getSlidingCountTimestampsScans the event queue and returns the list of event ts falling between startTs (exclusive) and endTs (inclusive) at each sliding interval counts.- Parameters:
- startTs- the start timestamp (exclusive)
- endTs- the end timestamp (inclusive)
- slidingCount- the sliding interval count
- Returns:
- the list of event ts
 
- 
toString
- 
restoreState
- 
getState
 
-