Package org.apache.flink.cep.functions
Interface TimedOutPartialMatchHandler<IN>
- Type Parameters:
IN- type of input elements
- All Known Implementing Classes:
PatternTimeoutFlatSelectAdapter,PatternTimeoutSelectAdapter
@PublicEvolving
public interface TimedOutPartialMatchHandler<IN>
Enables handling timed out partial matches. It shall be used in a mixin style. If you need your
PatternProcessFunction to be able to handle timed out partial matches implement this
interface as well. Example:
private class MyFunction extends PatternProcessFunction<IN, OUT> implements TimedOutPartialMatchHandler<IN> {
}
-
Method Summary
Modifier and TypeMethodDescriptionvoidprocessTimedOutMatch(Map<String, List<IN>> match, PatternProcessFunction.Context ctx) Called for every timed out partial match (due toPattern.within(Duration)).
-
Method Details
-
processTimedOutMatch
void processTimedOutMatch(Map<String, List<IN>> match, PatternProcessFunction.Context ctx) throws ExceptionCalled for every timed out partial match (due toPattern.within(Duration)). It enables custom handling, e.g. one can emit the timed out results through a side output:private final OutputTag<T> timedOutPartialMatchesTag = ... private class MyFunction extends PatternProcessFunction<IN, OUT> implements TimedOutPartialMatchHandler<IN> { @Override public void processMatch(Map<String, List<IN>> match, Context ctx, Collector<OUT> out) throws Exception { ... } @Override void processTimedOutMatch(Map<String, List<IN>> match, PatternProcessFunction.Context ctx) throws Exception { ctx.output(timedOutPartialMatchesTag, match); } }TimeContext.timestamp()in this case returns the minimal time in which we can say that the partial match will not become a match, which is effectively the timestamp of the first element assigned to the partial match plus the value of within.- Parameters:
match- map containing the timed out partial match. Events are identified by their names.ctx- enables access to time features and emitting results through side outputs- Throws:
Exception- This method may throw exceptions. Throwing an exception will cause the operation to fail and may trigger recovery.
-