Netty-如何实现扇出模式

Netty-如何实现扇出模式,netty,Netty,是否有任何示例说明如何实现扇出模式?基本上,在我的处理程序中,我希望发送多个请求,然后处理这些请求的结果。对于多个目标,我相信您可以使用和/或。如果我正确理解了您的用例,那么这些抽象就是为了这样设计的:加入多个未来/承诺并等待它们的聚合结果。根据您的要求,细节可能会有所不同。如果至少有一个承诺失败,您可能希望失败;如果至少有一个承诺完成,您可能会没事。无论如何,在文档或此处可以找到一些示例: 最终承诺合并人=新承诺合并人(事件执行人); add(makeAsyncCall1()); add(ma

是否有任何示例说明如何实现扇出模式?基本上,在我的处理程序中,我希望发送多个请求,然后处理这些请求的结果。

对于多个目标,我相信您可以使用和/或。如果我正确理解了您的用例,那么这些抽象就是为了这样设计的:加入多个未来/承诺并等待它们的聚合结果。根据您的要求,细节可能会有所不同。如果至少有一个承诺失败,您可能希望失败;如果至少有一个承诺完成,您可能会没事。无论如何,在文档或此处可以找到一些示例:

最终承诺合并人=新承诺合并人(事件执行人);
add(makeAsyncCall1());
add(makeAsyncCall2());
最终违约承诺=新违约承诺(事件执行人);

promise.addListener(新建GenericFutureListener)您是否尝试使用频道组:ChannelGroupFuture=broadcast.writeAndFlush(message);future.WaitingUnterruptibly();如果您提供一些示例说明如何使用结果,那将非常有用,目前,我必须用谷歌搜索“扇出模式”的确切含义意思是,我假设不是每个人都会在回答一个需要谷歌搜索的问题之前努力回答这个问题。如果你必须在异步调用完成后执行一个操作,那么这个问题会非常有效。finish()一旦所有异步调用终止,就会调用promise。但是合并器结果是空的。因此,我猜结果必须存储在外部的某个位置。您知道在finish()中是否已经有类似的内容提供了结果列表监听器?不管怎样,即使将结果存储在外部并在完成监听器上获得结果也没有那么糟糕。谢谢!@th30z-hm,似乎API的设计只是为了支持Void,即用于发送信号。我想在共享集合中聚合结果是可以的。请注意可能存在的争用问题。