JMS 消息系统设计与实践
1. JMS 基础组件与协议桥接
JMS(Java Message Service)系统包含 JMS Server、JMS Producer 和 JMS Consumer 等核心组件。在消息处理过程中,涉及 onMessage() 、 acknowledge() 、 Send() 等方法,例如 Send() 用于发送消息, acknowledge() 用于确认消息接收。当使用 CLIENT_ACKNOWLEDGE 模式时,JMS 消费者在桥接到其他协议时仍可确保一定的可靠性,但需注意,使用桥接至其他协议时,端到端的服务质量可能无法保证。比如在图 10 - 2 中,HTTP 发送可能成功,但 acknowledge() 操作可能失败。
JMS 本身不提供 JMS 提供商与其他非 JMS 提供商之间的互操作性,不同厂商的 JMS 客户端和服务器不能直接通信。若要实现 Java 客户端使用 JMS 发送消息,而用 C++ 或 C# 编写的接收器接收消息,就需要消息桥接。像 IBM 的 WebSphere MQ 和开源的 ActiveMQ JMS 提供商,能提供 JMS 和原生 API,实现语言和平台间的互操作性。也有开源和商业的消息桥接工具,还可构建连接两个提供商的连接器进程,如图 10 - 3 所示。
在选择 JMS 提供商时,要考虑互操作性需求。部分 JMS 提供商(如 Java EE 应用服务器)只能收发 JMS 消息,若需 Java 和 C#
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



