wso2 CEP window 时间的动态值
Dynamic value for wso2 CEP window time
我正在试用 WSO2 CEP 来满足我们的新要求。目前我已经编写了一个查询来查找超时事件。
来自 InputStream#window.time(5 分钟)
select *
为过期事件插入 TimeoutRequest。
但我的要求是,window 中提到的 5 分钟会因每个请求而异。一些请求应该在 5 分钟内超时,一些请求在 10 分钟内超时。如何传递 window.time(n 分钟)的动态值。如果我们可以通过 Custom Transformer 或 Custom Window 来做,我没有得到关于如何做到这一点的正确上下文。
可以有不同的方法来实现:
- 自定义 window - 您可以编写自己的 window(延长时间 window),它在事件中查找特定属性以确定它们的超时持续时间。
如果只有一组有限的持续时间,您可以简单地为每个持续时间定义一个 window 并使用过滤器将传入事件指向相关的 window .
例如:
来自 InputStream[timeoutValue == 5]#window.time(5 分钟)select * 插入超时事件的 TimeoutRequest
来自 InputStream[timeoutValue == 10]#window.time(10 分钟)select * 插入超时事件的 TimeoutRequest
我正在试用 WSO2 CEP 来满足我们的新要求。目前我已经编写了一个查询来查找超时事件。
来自 InputStream#window.time(5 分钟) select * 为过期事件插入 TimeoutRequest。
但我的要求是,window 中提到的 5 分钟会因每个请求而异。一些请求应该在 5 分钟内超时,一些请求在 10 分钟内超时。如何传递 window.time(n 分钟)的动态值。如果我们可以通过 Custom Transformer 或 Custom Window 来做,我没有得到关于如何做到这一点的正确上下文。
可以有不同的方法来实现:
- 自定义 window - 您可以编写自己的 window(延长时间 window),它在事件中查找特定属性以确定它们的超时持续时间。
如果只有一组有限的持续时间,您可以简单地为每个持续时间定义一个 window 并使用过滤器将传入事件指向相关的 window . 例如:
来自 InputStream[timeoutValue == 5]#window.time(5 分钟)select * 插入超时事件的 TimeoutRequest
来自 InputStream[timeoutValue == 10]#window.time(10 分钟)select * 插入超时事件的 TimeoutRequest