【问题标题】:Dynamic value for wso2 CEP window timewso2 CEP 窗口时间的动态值
【发布时间】:2015-09-28 20:16:10
【问题描述】:

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

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

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

【问题讨论】:

    标签: window wso2 complex-event-processing


    【解决方案1】:

    可以有不同的方法来实现:

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

      from InputStream[timeoutValue == 5]#window.time(5 minutes) select * 插入 TimeoutRequest 以获取过期事件

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

    【讨论】:

    • 非常感谢 Rajeev,但我面临创建自定义窗口的问题。我从 wso2 CEP 库中复制了所有 jar,以构建用于创建自定义类的路径。但无法找到导入的类。你能帮忙吗。以及如何获取现有的时间窗类代码/如何获取wso2产品的源代码。
    • 创建一个maven项目并在那里添加依赖会更容易。检查此链接以获取 CEP 4.0.0 和所需存储库的依赖项:gist.github.com/rajeev3001/1884a06c274f6928e678
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多