我正在为RapidMiner-Plugin编写运算符。只要主方法doWork()
不返回,此运算符就处于活动状态。我的插件使用vert.x通过网络进行通信。我有一个有状态的接收器服务并且处理收到的消息。此服务在与上述doWork()方法相同的线程(mainthread,唯一的线程)中运行。但是,由于操作符不是接收消息和处理消息,因此doWork()方法在设置对象后返回。相反,该方法应在接收器服务接收完成的事件后返回。所以我的问题是,如何在不阻塞线程的情况下等待此事件,线程也处理消息。目前我尝试使用CombletableFuture解决问题,但get()
方法阻止线程,因此收到的消息不会被处理。