我正在尝试通过套接字将事件发送到 Esper 引擎并遇到了一些问题。
我已经配置了 EsperIOSocketAdapter 属性,当调用 EsperIOSocketAdapter.start() 方法时,它会启动一个新的守护线程来监听客户端,但是守护线程在套接字客户端实际尝试连接之前退出,因为父线程退出。
我的代码片段如下:
ConfigurationSocketAdapter adapterConfig = new ConfigurationSocketAdapter();
SocketConfig socket = new SocketConfig();
socket.setDataType(DataType.CSV);
socket.setPort(6789);
adapterConfig.getSockets().put("CourseSocket", socket);
EsperIOSocketAdapter socketAdapter = new EsperIOSocketAdapter (adapterConfig, "CourseSocket");
socketAdapter.start();
另一个疑问是在程序中没有使用我用来通过代码发送事件的 SocketAdapter
EPRuntime.sendEvent(new TestEvent(event));
在使用 SocketAdapter 时,我应该使用 sendEvent() 否则事件会自动推送到引擎中。