JMS学习笔记(一)

3 篇文章 0 订阅

由于最近研发项目进展缓慢,故在有限的时间里学习一下JMS,在此做笔记为证。


一、JMS的基本概念

源引,在developerworks看到的一篇文章,来为JMS下个定义:

JMS 是什么?

Java MessageService 规范 1.1 声称:

                                        
JMS 是一组接口和相关语义,它定义了 JMS 客户如何访问企业消息产品的功能。

JMS 之前,每一家 MOM 厂商都用专有 API 为应用程序提供对其产品的访问,通常可用于许多种语言,其中包括 Java 语言。JMS 通过 MOM 产品为 Java 程序提供了一个发送和接收消息的标准的、便利的方法。用 JMS 编写的程序可以在任何实现 JMS 标准的 MOM 上运行。

JMS 可移植性的关键在于:JMSAPI 是由 Sun 作为一组接口而提供的。提供了 JMS 功能的产品是通过提供一个实现这些接口的提供者来做到这一点的。

开发人员可以通过定义一组消息和一组交换这些消息的客户机应用程序建立 JMS 应用程序。


二、JMS的目标

更好地理解 JMS 有助于了解 JMS 规范的制定者设置的目标。

现在,市场上有许多企业消息产品,生产这些产品的几家公司也参与了 JMS 的开发。

现有的这些系统的能力和功能各不相同。这些制定者知道如果 JMS 结合所有现有系统的所有功能,那么它会变得过于复杂。同样,他们相信,他们也不能让 JMS 只局限于所有系统共有的那些特性。

制定者相信,让 JMS 包括实现“高级的企业应用程序”所需要的所有功能是很重要的。

JMS 规范中声明, JMS 的目标是:

  • 定义一组消息公用概念和实用工具。
  • 最少化程序员使用消息时必须学习的概念。
  • 最大化消息应用程序的可移植性。 
  • 最小化实现一个提供者所需的工作量。
  • 为点对点和 pub/sub  提供客户机接口。“域”是用于在前面讨论的消息模型的 JMS 术语。(注意:提供者不需要实现两个域。)
综上所述,其实JMS也是sun公司给提供的一个统一编程规范,换句话说也就是给我们提供了一组公共接口,方便我们自己进行实现。


三、JMS 1.1规范

JMS 1.1 以前的版本中,每一个域都有自己的特定于该域的一组客户机接口。JMS 版本 1.1 提供了单一的一组接口,它允许客户机可以在两个域中发送和接收消息。这些“域无关的接口”保留了每一个域的语义和行为,是实现 JMS 客户机的最好选择。支持特定于域的接口是为了向后兼容性,新的开发不该使用它。

统一域的好处是:

  • 它展示了用于客户机编程的更简单的编程模型。
  • 队列和主题的操作可以是同一事务的一部分。
  • 它为 JMS 提供者提供了优化其实现的机会。


该文章中部分概念源引于

源文档 <http://www.ibm.com/developerworks/cn/education/java/j-jms/section2.html> ,如果有版权涉及,请通知,我会及早进行删除


在这一节里,我对于JMS的基本概念,做了一下解释。方便以后,自己进行理解。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员秋天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值