我们有一个连接到其他几个系统并将事件推送到流中的应用程序。每个连接器还将在其状态更改时发送状态消息。我想要一个 esper 查询,它向我显示为每个连接器发送的最后状态,即使该状态是不久前发送的。我们的 bean 看起来像这样
public class ConnectorStatus
{
private final String name;
private final boolean available;
private final boolean connected;
public ConnectorStatus(String name, boolean available, boolean connected)
{
this.name = name;
this.available = available;
this.connected = connected;
}
public String getName() { return name; }
public boolean getAvailable() { return available; }
public boolean getConnected() { return connected; }
}
我尝试了以下 esper 查询,但它似乎只返回每个名称的第一条状态消息。
select name, available, connected
from ConnectorStatus.std:groupwin(name).std:lastevent()
output every 10 sec
我是 esper 的新手。我对正常的时间窗口查询还不错,但是长时间保留最后一个事件让我很困惑。只有几十个连接器,它们的状态可能几个小时都不会改变,但我们仍然希望看到最后发送的状态。