我正在开发一个HTTPS侦听器,它基本上侦听ActiveMQ REST端点以获取最新消息。如果我们使用类似于C#的Apache.NMS库,那么它将使用TCP/IP来获得关于ActiveMQ中新消息的通知。在使用ActiveMQ REST端点时,我需要相同的通知/回调行为。
有没有人知道如何经常使用HTTP侦听器侦听ActiveMQ REST端点,并获得有关新消息的通知?我不想使用轮询(例如,每5-10秒调用一次ActiveMQ REST )。
发布于 2020-09-15 22:40:49
ActiveMQ 5.x REST接口不支持任何类型的回调,所以您唯一的选择就是轮询。NMS客户端获得有关消息的“通知”的原因是因为它是这样编写的。它创建并保存到代理的连接,通过这个连接,代理可以向它发送消息。HTTP只是不适合这个任务。
一般来说,REST并不是一个很好的消息传递解决方案,特别是因为缺乏回调功能。我建议您使用类似STOMP这样的简单且无处不在的方法。此外,没有REST消息传递的标准。如果您编写应用程序来使用ActiveMQ 5.x的REST接口,那么您的应用程序将绑定到ActiveMQ 5.x。不会和其他经纪人合作的。然而,许多经纪人支持STOMP。
https://stackoverflow.com/questions/63906067
复制相似问题