Spring集成:RendezvousChannel如何工作?

Mik*_*ler 3 spring

我还没有找到RendezvousChannel如何在Spring Integration中工作的任何示例.有谁知道任何资源?

我已经读过RendezvousChannel对于使请求/响应客户端适应Spring Integration中的异步消息传递非常有用.

Nil*_*oka 6

RendezvousChannel扩展QueueChannel并表现出相同的行为:

  • 从通道块读取,直到消息可用或发生超时.
  • 写入通道块,直到队列的容量允许另一条消息或超时发生.

但是,在内部RendezvousChannel使用容量为0和a SynchronousQueue.因此,发送者将阻塞直到接收者完成,接收完成,反之亦然,基本上建立同步通信.

至于例子,我认为还没有.

如果您想了解如何RendezvousChannel用作实现请求/回复场景的临时回复通道(如参考文档spring channel-implementation,第4.1.2节中所示),请查看源代码.sendAndReceive的方法MessageChannelTemplate.那个在PollableChannel内部使用实现,但模式可以很容易地转移RendezvousChannel.