java - 创建命名窗口并从中选择

标签 java esper

我在本地运行 Esper,并且我正在(通过 XML)输入一些 EPL 语句 -

<?xml version="1.0" encoding="UTF-8"?>
<Statements>
    <Statement>
        create window OrderEventWindow.win:keepall() as select * from OrderEvent
    </Statement>
    <Statement>
        @Name("OrderEventsFromWindow")
        @Description("Outputs any Order events from the window")
        select * from OrderEventWindow
    </Statement>
    <Statement>
        @Name("OrderEventsFromDirect")
        @Description("Outputs any Order events from the feed")
        select * from OrderEvent
    </Statement>
</Statements> 

这看起来一切顺利,没有任何错误。然而,现在的问题是,上面名为“OrderEventsFromWindow”的语句似乎没有运行,因为我没有看到任何结果输出(尽管有 OrderEvent 类型的事件传入)。

奇怪的是,另一个语句“OrderEventsFromDirect”按预期工作。

知道我可能做错了什么来解释为什么我的第一个语句没有显示任何输出吗?

*请注意,我的 XML 中的所有语句都会在应用程序启动时输入,如下所示:

    for (String stmt : statements) {
        EPStatement statement = admin.createEPL(stmt);
        statement.addListener(this);
    }

最佳答案

命名窗口开始为空,“创建窗口 OrderEventWindow.win:keepall() as OrderEvent”仅定义命名窗口中的行类型,在您的情况下,它们与 OrderEvent 的行类型相同。 如果您想要插入的话,您需要使用“insert into OrderEventWindow select * from OrderEvent”将所有订单事件插入到命名窗口中。

关于java - 创建命名窗口并从中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23057480/

相关文章:

java - 尝试从 JSON 中嵌套的数组读取值

android - 在 Android 上使用 Esper 的 CEP?

java - 在 Esper 中使用转义字符访问嵌套映射

java - Camel 可以通过并行处理运行 Esper 吗?

java - 创建 24 位 BMP 失败(仅适用于特定分辨率)

java - 在 Java 中使用 Class<V> 和泛型类型

java - addPlugInSingleRowFunction 将 Esper 版本从 5.3 升级到 8.3 时出现问题

java - CEP : source for real-time events or data feeds?

java - 如何限制在 JPQL 查询中更新的行数?

java - Java 中存在哪些工具相当于 .NET 的 svcutil.exe?