我目前有一个订单对象。我们可以假设它具有三个字段,分别称为 orderId、state 和 price。
class Order
{
public int orderId;
public String state;
public int filled;
}
在订单的整个生命周期中,状态和填充数量都会发生变化。每次发生字段更改时,我们通过以下方式将其推送到 esper 运行时:
Order o .....;
epService.EPRuntime.SendEvent(o);
现在,每次通过 SendEvent 添加订单时,它的对象都与前一个订单对象不同(即不是引用)。这意味着旧的订单对象不应再在流中供语句查看
我希望像下面这样的语句只对流中订单的最新版本进行操作,即从概念上讲,流中的每个物理订单应该只有一个订单对象。
"select filled from OrderStream.win:keepall() where orderId= 1234"
有没有办法删除旧的 Order 对象?我可以使用引用,所以我只需更新旧的订单对象,然后再次推送它吗?有没有别的办法??
我目前正在使用Nesper