Java 无法通过EsperIOSocketAdapter接收事件

Java 无法通过EsperIOSocketAdapter接收事件,java,esper,complex-event-processing,Java,Esper,Complex Event Processing,我试图通过套接字将事件发送到Esper引擎,但遇到了一些问题 我已经配置了EsperIOSocketAdapter属性,当调用EsperIOSocketAdapter.start()方法时,它将启动一个新的守护进程线程,该线程将侦听客户端,但守护进程线程在套接字客户端实际尝试连接之前作为父线程退出 我的代码片段如下所示: ConfigurationSocketAdapter adapterConfig = new ConfigurationSocketAdapter();

我试图通过套接字将事件发送到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(新TestEvent(事件))


在使用SocketAdapter时,我应该使用sendEvent(),否则事件将自动推送到引擎中

套接字问题似乎属于一般性问题,JVM正在终止,因为没有任何非守护进程线程在运行。将父线程(或套接字线程)设为非守护进程线程,JVM将不会终止。(请确保您确实可以停止线程,否则JVM将顽固地关闭:)

当您使用SocketAdapter时,您的“发送客户端”对物理eRuntime是远程的,但您使用远程套接字通过套接字发送事件,如中所述