2017-05-05 47 views
0

我想完全在單線程中使用Esper。我有以下配置:如何設置Esper使用單線程

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); 

我用推事件:

epService.getEPRuntime().route(myEvent); 

我有一個發言,我用添加一個監聽器。但是,從不調用監聽器的update方法。我還發送定時器事件:

epService.getEPRuntime().route(new CurrentTimeEvent(System.currentTimeMillis())); 

當我從文檔明白了,route()方法應該直接打電話給聽衆,但我update()方法不會被調用。

回答

0

將事件發送到Esper的方法是「sendEvent」。 「路由」方法供偵聽程序代碼使用,並且偵聽程序代碼可以使用「路由」發送事件以進行處理。