where
열거 메서드 및 문제가있는 Esper 설명서의 예제를 확장하려고합니다. 다음은 문제의 예입니다.Esper Lambda 식 사용 시도
select items.where(i => i.location.x = 0 and i.location.y = 0) as zeroloc
from LocationReport
내가 뭘하고 싶은지는 꽤 간단 해 보입니다. 대신이 표현과 일치 items
을 선택하는 : 내가 원하는
는 표현과 일치 적어도 하나의
item
를 포함LocationReport
의를 선택합니다.time_batch 창 (강조 텍스트 일괄 처리되지 않은 시간 창도 가능).
그래서 모든 N초 수 I는 각 보고서는 항목 목록에 하나 이상의 제로 위치를 포함하는 LocationReport
의 컬렉션을받을 것입니다. 참조를 들어
공용 클래스 LocationReport {목록 항목; ...
public class Item {String assetId; // 승객 또는 수하물 자산 id 위치 위치; // (x, y) location 부울 수하물; // 이 항목이 수하물 인 경우 true String assetIdPassenger; // 품목이 수하물 인 경우 승객과 관련된 승객이 포함되어 있습니다 ...
public class Location {int x; int y; ...
배경 세부 : LocationReport
가정은 위의 예에서 where
논리 작품처럼 EPL을 사용하여 난에 ...
관심이 실제 객체이지만, 문제는, 만 반환에 items
회원은 클래스를 보지 못했습니다. items
이외의 다른 속성이 포함되어 있습니다. 즉, UpdateListener
이 필요합니다.
또한 관련이 없을 수도 있지만 내 경우에는 많은 LocationReports가 중복 된 (또는 중복으로 간주 될만큼 충분히 가까운) 높은 속도의 메시지를 수신하고 있으며 내 where 절은 해당 결정을 내리고 앞으로 "새"메시지.
감사합니다!
문제를 재현하는 테스트 가능한 코드를 추가해야합니다. 예상 결과와 현재 결과를 언급하면 누군가가 문제를 해결하도록 도울 수 있습니다. –