2017-05-05 44 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”。 “路由”方法供侦听程序代码使用,并且侦听程序代码可以使用“路由”发送事件以进行处理。