我正在尝试WSO2 CEP以满足我们的新要求。目前我已经编写了一个查询来查找timedout事件。
来自InputStream#window.time(5分钟) 选择 * 插入TimeoutRequest以获取过期事件。
但我的要求是,时间窗口中提到的5分钟会因每个请求而异。有些请求应在5分钟内完成,有些请求在10分钟内完成。如何为window.time(n分钟)传递动态值。如果我们可以通过自定义变换器或自定义窗口进行操作,我无法获得有关如何执行此操作的正确上下文。
答案 0 :(得分:1)
可以采用不同的方法来实现这一点:
如果只有一组有限的持续时间,您只需为每个持续时间定义一个窗口,并使用过滤器将传入事件指向相关窗口。 e.g:
来自InputStream的[timeoutValue == 5]#window.time(5分钟)选择*插入到TimeoutRequest中的expired-events
来自InputStream的[timeoutValue == 10]#window.time(10分钟)选择*插入TimeoutRequest以获取过期事件