问题导读 1.独立模式有哪些条件? 2.循环模式模式该如何停止? 3.subtype的作用是什么? 上一篇: Flink难点:彻底明白CEP2,条件分类 http://www.aboutyun.com/forum.php?mod=viewthread&tid=27295 1.where(condition) 定义当前模式的条件。 要匹配模式,事件必须满足条件。 多个连续的where()子句,其条件为AND: [Scala] 纯文本查看 复制代码 pattern.where(event => ... /* some condition */) [] 纯文本查看 复制代码 pattern.where(new IterativeCondition<Event>() { 2.or(condition) 添加与现有条件进行“或”运算的新条件。 仅当事件至少通过其中一个条件时,才能匹配该模式: [Scala] 纯文本查看 复制代码 pattern.where(event => ... /* some condition */) [Java] 纯文本查看 复制代码 pattern.where(new IterativeCondition<Event>() { 3.until(condition) 指定循环模式的停止条件。 意味着如果匹配给定条件的事件发生,则不再接受该模式中的事件。 仅适用于oneOrMore() 注意:它允许在基于事件的条件下清除相应模式的状态。 [Java] 纯文本查看 复制代码 pattern.oneOrMore().until(new IterativeCondition<Event>() { [Scala] 纯文本查看 复制代码 pattern.oneOrMore().until(event => ... /* some condition */) 4.subtype(subClass) 定义当前模式的子类型条件。 如果事件属于此子类型,则事件只能匹配该模式: [Scala] 纯文本查看 复制代码 pattern.subtype(classOf[SubEvent]) [Java] 纯文本查看 复制代码 pattern.subtype(SubEvent.class); 5.oneOrMore() 指定此模式至少需要出现一次匹配事件。 默认情况下,使用宽松的内部连续性(在后续事件之间)。 有关内部连续性的更多信息,请参阅连续。 注意:建议使用until()或within()来启用状态清除 [Java] 纯文本查看 复制代码 pattern.oneOrMore(); [Scala] 纯文本查看 复制代码 pattern.oneOrMore() 6.timesOrMore(#times) 指定此模式至少需要#times【次数】出现匹配事件。 默认情况下,使用宽松的内部连续性(在后续事件之间)。 有关内部连续性的更多信息,请参阅连续。 [Scala] 纯文本查看 复制代码 pattern.timesOrMore(2) [Java] 纯文本查看 复制代码 pattern.timesOrMore(2); 7.times(#ofTimes) 指定此模式需要匹配事件的确切出现次数。 默认情况下,使用宽松的内部连续性(在后续事件之间)。 有关内部连续性的更多信息,同6。 [Scala] 纯文本查看 复制代码 pattern.times(2); [Java] 纯文本查看 复制代码 pattern.times(2) 8.times(#fromTimes, #toTimes) 指定此模式期望在匹配事件的#fromTimes和#toTimes之间出现。 默认情况下,使用宽松的内部连续性(在后续事件之间)。 有关内部连续性的更多信息,同6。 [Scala] 纯文本查看 复制代码 pattern.times(2, 4) [Java] 纯文本查看 复制代码 pattern.times(2, 4); 9.optional() 指定此模式是可选的,即根本不会发生。 这适用于所有上述量词。 [Java] 纯文本查看 复制代码 pattern.oneOrMore().optional(); [Scala] 纯文本查看 复制代码 pattern.oneOrMore().optional() 10.greedy() 指定此模式是贪婪的,即它将尽可能多地重复。 这仅适用于量词,目前不支持组(group )模式。 [Scala] 纯文本查看 复制代码 pattern.oneOrMore().greedy(); [] 纯文本查看 复制代码 pattern.oneOrMore().greedy() 最新经典文章,欢迎关注公众号 加入About云知识星球,获取更多实用资料 |
|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号 )
GMT+8, 2019-6-11 10:32 , Processed in 0.325220 second(s), 28 queries , Gzip On.