2017-05-05 3 views
0

단일 스레드에서 완전히 Esper를 사용하고 싶습니다. 나는 하나의 문이단일 스레드를 사용하도록 Esper를 설정하는 방법

epService.getEPRuntime().route(myEvent); 

, 나는 를 사용하여 하나 개의 수신기를 추가 :

config.getEngineDefaults().getExecution().setDisableLocking(true); 
config.getEngineDefaults().getThreading().setInternalTimerEnabled(false); 
config.getEngineDefaults().getThreading().setThreadPoolInbound(false); 
config.getEngineDefaults().getThreading().setThreadPoolOutbound(false); 
config.getEngineDefaults().getThreading().setThreadPoolRouteExec(false); 
epService = EPServiceProviderManager.getProvider(UUID.randomUUID().toString(), config); 

내가 사용하여 이벤트를 밀어 : 나는 다음과 같은 설정이있다. 그러나 수신기의 update 메서드는 호출되지 않습니다. 또한 타이머 이벤트를 전송 :

나는이 문서에서 알고있는 것처럼
epService.getEPRuntime().route(new CurrentTimeEvent(System.currentTimeMillis())); 

route() 방법은 직접 청취자를 호출하도록되어 있지만, 내 update() 메서드가 호출되지 않습니다.

답변

0

이벤트를 Esper에 보내는 방법은 "sendEvent"입니다. "route"메소드는 리스너 코드에서 사용하기위한 것이며 리스너 코드는 "route"를 사용하여 처리하기 위해 이벤트를 보낼 수 있습니다.