【问题标题】:How to setup Esper to use single thread如何设置 Esper 以使用单线程
【发布时间】:2017-05-05 07:02:01
【问题描述】:

我想在单线程中完全使用 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);

我有一个声明,我使用EPStatement.addListener(UpdateListener) 添加了一个侦听器。但是,永远不会调用侦听器的 update 方法。我还发送计时器事件:

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

据我了解,route() 方法应该直接调用侦听器,但我的 update() 方法永远不会被调用。

【问题讨论】:

    标签: esper


    【解决方案1】:

    将事件发送到 Esper 的方法是“sendEvent”。 “路由”方法供监听器代码使用,监听器代码可以使用“路由”发送事件进行处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-24
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多