EMS 5.1是TIBCO公司的企业消息传递解决方案,它是Java消息服务(JMS)的一个强大扩展。本文将深入探讨EMS 5.1的主要特性、消息模型以及它对JMS的增强。 让我们来看一下EMS 5.1的消息模型: 1. 点对点(Queues):在点对点模型中,消息由一个生产者发送到队列,然后由一个或多个消费者接收。这种模型保证了消息的顺序,并且每个消息只被一个消费者处理。队列中的消息在被消费后默认会被删除。 2. 发布/订阅(Topics):在这个模型中,消息生产者发布消息到主题,而多个消费者可以订阅该主题来接收消息。发布/订阅模型支持广播消息,每个订阅者都可以接收到相同的消息副本。 3. 多播(Multicast Topics):类似于发布/订阅,但多播主题允许消息被广播到网络中的所有订阅者,通常用于UDP类型的通信,如TIBCO的Rendezvous技术。 接下来,我们看看EMS 5.1对JMS消息的扩展: 1. 交付模式:JMS提供了持久化(PERSISTENT)和非持久化(NON_PERSISTENT)两种模式,EMS添加了可靠交付(RELIABLE_DELIVERY)模式。此模式确保即使在服务器故障后,消息也能被正确地交付。 2. 确认模式:JMS有无确认(NO_ACKNOWLEDGE)模式,EMS则提供了显式客户端确认(EXPLICIT_CLIENT_ACKNOWLEDGE)和显式客户端DUPS_OK确认(EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE)模式。这些模式让使用者能够更精细地控制消息确认策略,以适应不同的应用需求。 3. 消息体类型扩展:EMS扩展了JMS的MapMessage和StreamMessage,使其能够与TIBCO RV和ActiveEnterprise的格式进行交互。这包括嵌套MapMessage和StreamMessage的能力,以及使用数组和原始类型作为值的能力。 消息结构是理解消息传递的关键组成部分。以下是一些重要的消息头字段: 1. JMSDestination:指定消息的目标位置,可以是队列或主题。 2. JMSDeliveryMode:定义消息的传递方式,即是否持久化或非持久化,或使用可靠的交付模式。 3. JMSExpiration:消息的过期时间,如果超过这个时间,消息将被视为无效。 4. JMSPriority:消息的优先级,数值越大,优先级越高。 5. JMSMessageID:每个消息的唯一标识符。 6. JMSTimestamp:消息交给提供者发送的时间戳,实际发送时间可能稍晚于这个时间。 EMS 5.1通过提供多种消息模型、增强的消息交付和确认机制以及与TIBCO其他产品的兼容性,为企业级应用提供了高效、可靠和灵活的消息传递平台。这些特性使得EMS成为大型分布式系统中不可或缺的组件,能够处理大规模并发、高吞吐量以及关键业务流程的需求。
- 粉丝: 20
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助