如果能够根据事件的字段值匹配事件,这将超出当前从匹配单独条件的事件中创建模式的能力。例如,如https://flink.apache.org/news/2016/04/06/cep-monitoring.html中所述,我们可以这样做:
Pattern<MonitoringEvent, ?> warningPattern = Pattern.<MonitoringEvent>begin("First Event")
.subtype(TemperatureEvent.class)
.where(evt -> evt.getTemperature() >= TEMPERATURE_THRESHOLD)
.next("Second Event")
.subtype(TemperatureEvent.class)
.where(evt -> evt.getTemperature() >= TEMPERATURE_THRESHOLD)
.within(Time.seconds(10));
但是,使用以下功能创建 Pattern 会很棒:.where(second_evt->evt.getTemperature() == first_evt->evt.getTemperature()