wso2 CEP窗口时间的动态值

时间:2015-09-28 10:20:34

标签: window wso2 complex-event-processing

我正在尝试WSO2 CEP以满足我们的新要求。目前我已经编写了一个查询来查找timedout事件。

来自InputStream#window.time(5分钟) 选择 * 插入TimeoutRequest以获取过期事件。

但我的要求是,时间窗口中提到的5分钟会因每个请求而异。有些请求应在5分钟内完成,有些请求在10分钟内完成。如何为window.time(n分钟)传递动态值。如果我们可以通过自定义变换器或自定义窗口进行操作,我无法获得有关如何执行此操作的正确上下文。

1 个答案:

答案 0 :(得分:1)

可以采用不同的方法来实现这一点:

  1. 自定义窗口 - 您可以编写自己的窗口(延长时间窗口),在窗口中查找特定属性以确定其超时持续时间。
  2. 如果只有一组有限的持续时间,您只需为每个持续时间定义一个窗口,并使用过滤器将传入事件指向相关窗口。 e.g:

    来自InputStream的

    [timeoutValue == 5]#window.time(5分钟)选择*插入到TimeoutRequest中的expired-events

    来自InputStream的

    [timeoutValue == 10]#window.time(10分钟)选择*插入TimeoutRequest以获取过期事件