jms重要概念笔记

1)JMS 规范

JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。JMS 只是接口,

并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,例如ActiveMQ。

2)术语

JMS Provider:实现JMS 接口的消息中间件;
PTP:Point to Point,即点对点的消息模型;
Pub/Sub:Publish/Subscribe,即发布/订阅的消息模型;
Queue:队列目标;
Topic:主题目标;
ConnectionFactory:连接工厂,JMS 用它创建连接;
Connection:JMS 客户端到JMS Provider 的连接;
Destination:消息的目的地;
Session:会话,一个发送或接收消息的线程;
MessageProducer:由Session 对象创建的用来发送消息的对象;
MessageConsumer:由Session 对象创建的用来接收消息的对象;
Acknowledge:签收;
Transaction:事务。

3)JMS 编程模型

在 JMS 编程模型中,JMS 客户端(组件或应用程序)通过 JMS 消息服务交换消息。
消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息。这些消息
传送操作是使用一组实现 JMS 应用编程接口 (API) 的对象(由 JMS Provide 提供)来
执行的。

4)JMS 编程域

JMS 支持两种截然不同的消息传送模型:PTP(即点对点模型)和Pub/Sub(即发布
/订阅模型),分别称作:PTP Domain 和Pub/Sub Domain。
PTP(使用Queue 即队列目标) 消息从一个生产者传送至一个消费者。在此传
送模型中,目标是一个队列。消息首先被传送至队列目标,然后根据队列传送策略,从
该队列将消息传送至向此队列进行注册的某一个消费者,一次只传送一条消息。可以向
队列目标发送消息的生产者的数量没有限制,但每条消息只能发送至、并由一个消费者
成功使用。如果没有已经向队列目标注册的消费者,队列将保留它收到的消息,并在某
个消费者向该队列进行注册时将消息传送给该消费者。
Pub/Sub(使用Topic 即主题目标) 消息从一个生产者传送至任意数量的消费
者。在此传送模型中,目标是一个主题。消息首先被传送至主题目标,然后传送至所有
已订阅此主题的活动消费者。可以向主题目标发送消息的生产者的数量没有限制,并且
每个消息可以发送至任意数量的订阅消费者。主题目标也支持持久订阅的概念。持久订
阅表示消费者已向主题目标进行注册,但在消息传送时此消费者可以处于非活动状态。
当此消费者再次处于活动状态时,它将接收此信息。如果没有已经向主题目标注册的消
费者,主题不保留其接收到的消息,除非有非活动消费者注册了持久订阅。

5)JMSDeliveryMode 传送模式

有两种模式: PERSISTENT 和
NON_PERSISTENT,PERSISTENT 表示该消息一定要被送到
目的地,否则会导致应用错误。NON_PERSISTENT 表示偶
然丢失该消息是被允许的,这两种模式使开发者可以在
消息传送的可靠性和吞吐量之间找到平衡点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值