首页 > 解决方案 > ActiveMQ 是否有响应式客户端库或使用 Spring WebClient 获取消息的方法?

问题描述

我正在使用 Spring Webflux 和 Reactor Netty 开发 NIO SMTP 客户端。我需要将消息传递到应用程序中,我想知道是否有非阻塞方式与 ActiveMQ 交互,我发现的唯一文档提到 ActiveMQ 中的 NIO 只讨论 ActiveMQ 服务器如何使用 NIO 模型,但没有关于使用非阻塞客户端使用服务。

标签: javajmsactivemqspring-webfluxproject-reactor

解决方案


当然,ActiveMQ 与任何其他 JMS 提供程序一样具有阻塞 API ( MessageConsumer.receive() ) 以及设置MessageListener的方法,该方法在消息到达时自动调用。由于您使用的是 Spring,请查看示例。

此外,您可以使用“nio”而不是 tcp 前缀来启用服务器端 NIO:nio://hostname:port?key=value,另请参见https://activemq.apache.org/nio-transport-reference,但听起来NIO只是实现了客户端-服务器通信的服务器端而已。


推荐阅读