Class Repeatedly
- All Implemented Interfaces:
Serializable
Trigger
that fires according to its subtrigger forever.
For example, to fire after the end of the window, and every time late data arrives:
Repeatedly.forever(AfterWatermark.pastEndOfWindow());
Repeatedly.forever(someTrigger)
behaves like an infinite
AfterEach.inOrder(someTrigger, someTrigger, someTrigger, ...)
.
You can use Trigger.orFinally(OnceTrigger)
to let another trigger interrupt the repetition.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
Trigger.OnceTrigger
-
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
subTriggers
-
Method Summary
Modifier and TypeMethodDescriptionstatic Repeatedly
Create a composite trigger that repeatedly executes the triggerrepeated
, firing each time it fires and ignoring any indications to finish.protected Trigger
getContinuationTrigger
(List<Trigger> continuationTriggers) Subclasses should override this to return theTrigger.getContinuationTrigger()
of thisTrigger
.For internal use only; no backwards-compatibility guarantees.boolean
For internal use only; no backwards-compatibility guarantees.toString()
Methods inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
equals, getContinuationTrigger, hashCode, isCompatible, orFinally, subTriggers
-
Method Details
-
forever
Create a composite trigger that repeatedly executes the triggerrepeated
, firing each time it fires and ignoring any indications to finish.Unless used with
Trigger.orFinally(org.apache.beam.sdk.transforms.windowing.Trigger.OnceTrigger)
the composite trigger will never finish.- Parameters:
repeated
- the trigger to execute repeatedly.
-
getRepeatedTrigger
-
getWatermarkThatGuaranteesFiring
Description copied from class:Trigger
For internal use only; no backwards-compatibility guarantees.Returns a bound in event time by which this trigger would have fired at least once for a given window had there been input data.
For triggers that do not fire based on the watermark advancing, returns
BoundedWindow.TIMESTAMP_MAX_VALUE
.This estimate may be used, for example, to determine that there are no elements in a side-input window, which causes the default value to be used instead.
- Specified by:
getWatermarkThatGuaranteesFiring
in classTrigger
-
mayFinish
public boolean mayFinish()Description copied from class:Trigger
For internal use only; no backwards-compatibility guarantees.Indicates whether this trigger may "finish". A top level trigger that finishes can cause data loss, so is rejected by GroupByKey validation.
-
getContinuationTrigger
Description copied from class:Trigger
Subclasses should override this to return theTrigger.getContinuationTrigger()
of thisTrigger
. For convenience, this is provided the continuation trigger of each of the sub-triggers in the same order asTrigger.subTriggers
.- Specified by:
getContinuationTrigger
in classTrigger
- Parameters:
continuationTriggers
- contains the result ofTrigger.getContinuationTrigger()
on each of thesubTriggers
in the same order.
-
toString
-