用例:
客户端向服务器发送请求,该服务器的响应数据通常很大。因此,与其等待整个响应可用并发送回客户端,不如在可用时将数据流传输到客户端。 客户端与服务器之间的通信是 AMQP 。
由于AMQP是基础协议,而我的是Spring Boot应用程序(2.x),因此我尝试在客户端使用AsyncRabbbitTemplate
,希望ListenerFuture
回调可以作为我的使用者数据流回,但徒劳(它恰好是用@RabbitListener
注释的方法返回的值)。
有了对Direct-replyTo
的最新支持,我知道不需要创建/定义一个答复队列,而是为请求/响应创建了一个临时队列。但是,如果在服务器上有可用数据时,如果我使用rabbitTemplate.convertAndSend(message.getMessageProperties().getReplyTo(), object)
,那么响应将发送到哪里?并且可以在客户端访问吗?如果是,怎么办?
如果Direct-replyTo
没有解决这个问题,那有什么选择呢?
请让我知道是否需要其他信息。
谢谢。