这样可以嘛
> Pattern<Event, ?> pattern = Pattern.<Event>begin("start").where(new SimpleCondition<Event>() {
> @Override
> public boolean filter(Event value) throws Exception {
> return value.getName().equals("a") || value.getName().equals("b");
> }
> }).next("next").where(new IterativeCondition<Event>() {
> @Override
> public boolean filter(Event value, Context<Event> ctx) throws Exception {
> Event last = ctx.getEventsForPattern("start").iterator().next();
> if(last != null){
> if( (last.getName().equals("a") && value.getName().equals("b")) || (last.getName().equals("b") && value.getName().equals("a"))){
> return true;
> }
> }
> return false;
> }
>
>
> sherlock zw <
[hidden email]<mailto:
[hidden email]>> 于2021年5月14日周五
> 上午8:52写道:
> 兄弟们,想问下Flink的CEP能够对无序数据流进行处理匹配嘛?
> 我这里指的无序事件是:例如有两个事件,事件A和事件B,在一个时间窗口内,只要匹配到了A和B,不论A和B的到来顺序,我都认为是符合我的条件
>
>