2015-02-03 18 views
0

Esper를 사용하려고합니다.Esper - 이벤트 유형 간 다형성

제 질문은 이벤트 간의 다형성에 대한 것입니다.

예 (의사)

내가 eventtypes 같은 두 개의 클래스와 GPSEvent PositionEvent를 사용한다. 나는 규칙 사용하는 경우

class GPSEvent{ 
    double longitude 
    double latitude 
} 

class PositionEvent extends GPSEvent{ 
    Date timeOfOccurence 
} 

:

select * from GPSEvent.win:length_batch(5) 

을하고 다음과 같은 이벤트가 엔진에 전송되는 : GPSEvent GPSEvent G1 그들은처럼 보일 수 있습니다 g2, GPSEvent g3, GPSEventG4 , PositionEvent P1

규칙 것 트리거.

내 질문은 어떻게 방지하기 위해 지금이다 하위 유형 이벤트가

또는

를 전송하는 경우 트리거 방법 EVENTTYPE이 하위 유형이없이 슈퍼 경우에만 트리거?

규칙에 복잡도를 추가하지 않고 모범 사례가 있습니까? 아니면 이벤트 유형 클래스에서 "오버 헤드"를 사용합니까?


추가 정보 :

내가 5 GPSEvents

답변

0

나는 세 가지 방법으로 볼을 검출 한 후 가입자 중 엔진에 라우팅 할 PositionEvent을하고 싶습니다. 클래스에 플래그를 추가 할 수 있습니다 (예 : "getType() {return"P "}", 속성 "type"제공). 사용자 지정 검사를 위해 EPL UDF를 만들 수 있습니다. "instanceof/typeof"를 사용할 수 있습니다.