如何通过AMQP流式传输响应

时间:2018-10-15 17:25:16

标签: spring java-8 stream rabbitmq amqp

用例:

客户端向服务器发送请求,该服务器的响应数据通常很大。因此,与其等待整个响应可用并发送回客户端,不如在可用时将数据流传输到客户端。 客户端与服务器之间的通信是 AMQP

由于AMQP是基础协议,而我的是Spring Boot应用程序(2.x),因此我尝试在客户端使用AsyncRabbbitTemplate,希望ListenerFuture回调可以作为我的使用者数据流回,但徒劳(它恰好是用@RabbitListener注释的方法返回的值)。

有了对Direct-replyTo的最新支持,我知道不需要创建/定义一个答复队列,而是为请求/响应创建了一个临时队列。但是,如果在服务器上有可用数据时,如果我使用rabbitTemplate.convertAndSend(message.getMessageProperties().getReplyTo(), object),那么响应将发送到哪里?并且可以在客户端访问吗?如果是,怎么办?

如果Direct-replyTo没有解决这个问题,那有什么选择呢?

请让我知道是否需要其他信息。

谢谢。

0 个答案:

没有答案