현재 주문 개체가 있습니다. 우리는 orderId, state 및 price라는 세 개의 필드가 있다고 가정합니다.스트림에서 요소를 제거하는 방법
class Order
{
public int orderId;
public String state;
public int filled;
}
주문이 끝나면 상태 및 충전량이 변경됩니다.
Order o .....;
epService.EPRuntime.SendEvent(o);
이제 순서가 SendEvent 그 이전 주문 객체가 아닌 다른 객체 (즉,하지 참조)를 통해 추가 될 때마다 : 때마다 우리는 에스퍼 런타임을 통해 그것을 밀어 필드 변화가있다. 즉, 오래된 주문 객체가 더 이상 볼 문장이 없다는 것을 의미합니다.
스트림의 가장 최근 버전의 주문에 대해서만 아래의 구문을 사용하고 싶습니다. 즉 개념적으로 하나만 있어야합니다. 스트림의 각 물리적 순서에 대한 순서 오브젝트.
"select filled from OrderStream.win:keepall() where orderId= 1234"
오래된 주문 개체를 제거 할 수있는 방법이 있습니까? 참조를 사용하여 이전 주문 개체를 업데이트 한 다음 다시 밀어 넣을 수 있습니까? 다른 방법이 있습니까 ??
이"create window OrderWin.std:unique(orderId) as Order"
"insert into "OrderWin select * from Order"
"select * from OrderWin where ..."