JMS学习笔记(新).docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JMS学习笔记(新)

JMS学习笔记JMS 给java 程序员提供了一种通用的方式来创建、发送、接收和查看企业消息系统消息。什么是JMS 应用JMS 应用组成部分:JMS 客户端——发送和接收消息的Java 语言程序。非JMS 客户端——使用消息系统的本地客户端API 而不是JMS 的API,如果应用先于JMS,那么它很可能既包含JMS 又包含非JMS 客户端。消息——每个应用定义一系列的消息,这些消息用于在客户端之间交换信息。JMS 提供商——它是一个消息系统,它实现了JMS 以及其他的完整消息产品所需要的管理和控制功能。连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。被管理的对象(或消息管理对象)——被管理的对象是预先配置好的JMS 对象,它由管理员为客户端使用而创建。JMS被管理对象的两种类型:ConnectionFactory——这个对象用于客户端来创建和提供商的连接。根据消息的消费方式的不同ConnectionFactory可以分为QueueConnectionFactoryTopicConnectionFactoryDestination——这个对象用于客户端来指定发送消息的目的地,也是接收消息的来源。Destination可以分为Queue和Topic客户端消息的生产者和消费者。它们可以毫不相干,只需要消息的消费者知道如何使用消息即可。根据消息消费者数目的不同,消息的消费者分为两类:subscriber 和receiver,同样消息发送者也分为两类:Publisher和Sender。消息JMS API规定了五种消息:Message、MapMessage、TextMessage、ByteMessage、StreamMessage和ObjectMessage。所有消息都派生自 Message 接口MapMessage:包含一组名/值对;名称为 string 类型,而值为 Java 的基本类型。TextMessage:包含一个 String。BytesMessage:包含未解释字节流: 编码主体以匹配现存的消息格式。StreamMessage:包含 Java 基本数值流,用标准流操作来顺序的填充和读取。ObjectMessage:包含一个 Serializable Java 对象;能使用 JDK 的集合类。XMLMessage: 包含XML内容。扩展TextMessage,XMLMessage 类型的使用,使得消息过滤非常便利。消费形式的不同造成JMS有两组平行的API,这就是JMS的PTP(point to point)模型和PUB/SUB(publisher和subscriber、出版和订阅)模型。PTP的消息应用中一个消息只有一个消费者,消费后该消息即不再有效。而PUB/SUB应用中一个消息可以有多个订阅者,而且每个订阅者不一定非要处理该消息。在PTP模型中,生产者不需要在接收者消费该消息期间处于运行状态,接收者也同样不需要在消息发送时处于运行状态。而在PUB/SUB模型中,在发布者和订阅者之间存在时间依赖性。发布者需要建立一个订阅(subscription),以便客户能够购订阅。订阅者必须保持持续的活动状态以接收消息,除非订阅者建立了持久的订阅。在那种情况下,在订阅者未连接时发布的消息将在订阅者重新连接时重新发布。JMS提供了将应用与提供数据的传输层相分离的方式。同一组Java类可以通过JNDI中关于提供者的信息,连接不同的JMS提供者。这一组类首先使用一个连接工厂以连接到队列或主题,然后发送或发布消息。在接收端,客户接收或订阅这些消息。非持久订阅模式:只有当客户端处于激活状态,也就是和JMS 服务器保持连接的状态下,才能接收到发送到某个Topic的消息,而当客户端处于离线状态时,则这个时间段发到Topic的消息将会永远接收不到。持久订阅模式:客户端向JMS 注册一个识别自己身份的ID,当这个客户端处于离线时,JMS 服务器会为这个ID 保存所有发送到主题的消息,当客户再次连接到JMS 服务器时,会根据自己的ID 得到所有当自己处于离线时发送到主题的消息,即消息永远能接收到。订阅消息的接收有同步的和异步2种,他们分别使用receive()和onMessage(Messagemessage)方法来接收消息。开发一个JMS客户端典型的JMS 客户端执行下面的JMS 设置过程:使用JNDI 来发现ConnectionFactory 对象。使用JNDI 来发现一个或多个Desitination 对象。使用ConnectionFactory 来创建一个具有消息转发约束的JMS Connection。使用Connection 来创建一个或多个JMS Session

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档