错误来源于1.13.3版本官网例子,执行之后代码不输出任何结果
是官网太坑了,官网缺少两个参数,主要区别在这段代码
pattern 的begin 缺少一个参数 AfterMatchSkipStrategy.noSkip()
Pattern.<String>begin("test", AfterMatchSkipStrategy.noSkip())
parttern调用时要指定时间类型 inProcessingTime 或者inEventtime
CEP.pattern(test,pattern).inProcessingTime()
Pattern<String,?> pattern=Pattern.<String>begin("test", AfterMatchSkipStrategy.noSkip()).where(
new IterativeCondition<String>(){
@Override
public boolean filter(String value, Context<String> ctx) throws Exception {
return "show_kk_unlogin_page".equals(value);
}
}
).timesOrMore(1);
CEP.pattern(test,pattern).inProcessingTime().process(new PatternProcessFunction<String, String>() {
@Override
public void processMatch(Map<String, List<String>> match, Context ctx, Collector<String> out) throws Exception {
out.collect("test");
}
}).print();