我正在考虑一种架构,其中我的客户端间歇性地连接到网络。当网络不可用时,我想将在这些客户端上创建的消息存储在 JMS 队列中,并在客户端在网络上时将这些消息转发到中央消息代理。(用户可以控制网络,例如拨入,所以它不是像手机那样的断断续续的连接。)
是否有任何提供此功能的 JMS 实现?
我正在考虑一种架构,其中我的客户端间歇性地连接到网络。当网络不可用时,我想将在这些客户端上创建的消息存储在 JMS 队列中,并在客户端在网络上时将这些消息转发到中央消息代理。(用户可以控制网络,例如拨入,所以它不是像手机那样的断断续续的连接。)
是否有任何提供此功能的 JMS 实现?
您可以将 activeMQ 代理嵌入到您的应用程序中
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
然后,我想(没有测试)您可以使用 ActiveMQ 功能,这些功能允许您使用代理发现功能在代理网络中发送消息,
http://activemq.apache.org/clustering.html
或者简单地通过添加队列消费者服务器端,然后通过此消费者通过其他代理进行调度。
希望能帮助到你。
Glassfish Open Message Queue 可以在 4.4 版中嵌入(或独立运行)(支持代理与任何客户端“在进程中”运行的能力。)。它非常轻量级,并且将在 4.4 版中通过 STOMP 协议支持其他客户端语言 - 除了 Java 和 C。 - https://mq.dev.java.net/4.4.html