EJB整理3-消息驱动Bean(MDB)

1 消息驱动Bean(MDB)

1.1 JMS(Java Message Service)
1.1.1 JMS概念

JMSjava的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输,JMS支持两种消息模型:Point-to- PointPublish/Subscribepub/sub),即点对点和发布/订阅模式。这两种消息传递模型非常相似,但有以下区别:

 

  • PTP  消息传递模型规定了一条消息只能传递给一个接收方。
  • Pub/sub  消息传递模型允许一条消息传递给多个接收方。

 

消息传递系统的中心就是消息。一条  Message  由三个部分组成:

  • 头(header)每条  JMS  消息都必须具有消息头。头字段包含用于路由和识别消息的值。可以通过多种方式来设置消息头的值:
  1.  
    1.   JMS  提供者在生成或传送消息的过程中自动设置
    2. 由生产者客户机通过在创建消息生产者时指定的设置进行设置
    3. 由生产者客户机逐一对各条消息进行设置
  • 属性(property)消息可以包含称作属性的可选头字段。它们是以属性名和属性值对的形式指定的。可以将属性视为消息头的扩展,其中可以包括以下信息:创建数据的进程、数据的创建时间以及每条数据的结构。JMS  提供者也可以添加影响消息处理的属性,如是否应压缩消息或如何在消息生命周期结束时废弃消息。
  • 主体(body)包含要发送给接收应用程序的内容。每个消息接口特定于它所支持的内容类型。JMS  为不同类型的内容提供了它们各自的消息类型,但是所有消息都派生自 Message  接口。
  1.  
    1. StreamMessage:一种主体中包含 Java  基元值流的消息。其填充和读取均按顺序进行。
    2. MapMessage:一种主体中包含一组名-值对的消息。没有定义条目顺序。
    3. TextMessage:一种主体中包含  Java  字符串的消息(例如,XML  消息)。
    4. ObjectMessage:一种主体中包含序列化  Java  对象的消息。
    5. BytesMessage:一种主体中包含连续字节流的消息。
1.1.2 消息的传递模型

Ø 点对点消息传递

通过点对点 (PTP) 的消息传递模型,一个应用程序可以向另一个应用程序发送消息。在此传递模型中,目标类型是队列。消息首先被传送至队列目标,然后从该队列将消息传送至对此队列进行监听的某个消费者,如下图:

clip_image002

一个队列可以关联多个队列发送

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值