当ActiveMQ中有新消息时,我们可以使用HttpClient(SocketsHttpHandler)自动获得通知吗



我正在开发一个HTTP/HTTPS侦听器,它主要侦听ActiveMQ REST端点以获取最新消息。如果我们使用像Apache.NMS这样的C#库,那么它使用TCP/IP来获得有关ActiveMQ中新消息的通知。在使用ActiveMQ REST端点时,我需要相同的通知/回调行为。

有人知道如何使用某个HTTP侦听器不断侦听ActiveMQ REST端点并获得有关新消息的通知吗?我不想使用轮询(例如,每5-10秒调用一次ActiveMQRESTneneneba API(。

ActiveMQ 5.x REST接口不支持任何类型的回调,因此您唯一的选择是轮询。NMS客户端得到";被通知";关于信息是因为它是这样写的。它创建并保持与代理的连接,代理可以通过该连接向其发送消息。HTTP不适合此任务。

一般来说,REST不是一个很好的消息传递解决方案,特别是由于缺乏回调功能。我建议使用类似STOMP的东西,它既简单又普遍。此外,没有REST消息传递的标准。如果您编写的应用程序与ActiveMQ 5.x的REST接口协同工作,那么您的应用程序将绑定到ActiveMQ 5.x。它将无法与任何其他代理协同工作。然而,许多经纪人支持STOMP。

最新更新