在Vertx中实施扇出

时间:2018-11-14 17:40:14

标签: java vert.x

我正在实现一个http服务器,该服务器使用vertx版本3.5.4将工作分散到http客户端。

服务器接收工作并将其异步发送给一群客户端。但是,我需要阻塞请求线程,直到所有结果都到达为止。

在纯Java世界中,我会做类似的事情:

CountdownLatch latch = new CountdownLatch( 3 ); 
executor.submit( new Request(client1) );
executor.submit( new Request(client2) );
executor.submit( new Request(client3) );
latch.await(); // block the request thread

//In callback thread from clients
latch.countdown();

但是,在vertx中,我无法阻止主事件循环线程。 建议的阻止初始请求线程的方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

是的,您一定不能阻止事件循环。在异步世界中,您需要组合不同的结果并最终回复请求。

看看文档的Concurrent composition部分。