第七章利用JMS实现企业消息处理.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章利用JMS实现企业消息处理.ppt

JMS 李绪成 什么是消息服务 从完成的功能来说,同方法调用一样,都是从发送方把消息发送到接收方,消息的接收方对消息进行处理。 与方法调用不同的是,消息的发送者不需要等待接收者的响应,而方法调用必须等待接收者的响应。 消息处理的好处 可以采用消息队列的方式,异步传递消息 可以可靠的传递消息,JMS可以持久的存储消息 两种类型的消息处理 点对点消息处理:JMS 把每一个消息传递给一个消息消费者。 发布/订阅消息处理:把消息发送给某个主题,每个主题可以有多个消息订阅者,最终由JMS子系统把消息的副本传递给主题的每一个订阅者。 JMS基础知识 连接工厂 JMS连接 JMS会话 JMS目的 连接工厂 连接工厂(Connection Factory)由服务器管理员创建,并捆绑到JNDI树中。JMS客户机使用JNDI检索连接工厂,然后利用它建立一个JMS连接。 PTP连接工厂是javax.jms.QueueConnectionFactory。 pub/sub连接工厂是javax.jms.TopicConnectionFactory。 JMS连接 一个JMS连接表示JMS客户机与Weblogic Server之间的一个活动连接; 每个客户机都使用一个单独的JMS连接 每个JMS连接可以连接多个JMS目的。 PTP连接是QueueConnection; pub/sub连接是TopicConnection; JMS会话 JMS会话表示客户机与JMS服务器之间的会话状态。 会话定义了消息的顺序。 PTP模型使用QueueSession pub/sub模型使用TopicSession JMS目的 JMS目的是实际的消息源 PTP消息处理定义了javax.jms.Queue pub/sub使用javax.jms.Topic JMS队列生产者/消费者 配置JMS服务器 配置JMS目的 JMS的使用 JMS的使用 检索连接工厂 Context ctx=getInitialContext(); QueueConnectionFactory qConFactory= (QueueConnectionFactory)ctx.lookup(“weblogic.jms.ConnectionFactory”); 检索JMS队列 Queue messageQueue=(Queue)ctx.lookup(“MessageQueue”); 创建JMS连接和JMS会话 QueueConnection qCon=qConFactory.createQueueConnection(); QueueSession session=qCon.createQueueSession( False,Session.AUTO_AKKNOWLEDGE); 创建一个发送者和一个JMS消息 sender=session.createSender(messageQueue); msg=session.createTextMessage(); 发送消息 msg.setText(“Hello”); sender.send(msg); 同步消费者 Context ctx=getInitialContext(); QueueConnectionFactory qConFactory= (QueueConnectionFactory)ctx.lookup(“weblogic.jms.ConnectionFactory”); Queue messageQueue=(Queue)ctx.lookup(“MessageQueue”); QueueConnection qCon=qConFactory.createQueueConnection(); QueueSession session=qCon.createQueueSession(false,Session.AUTO_ACKNOWLEDGE); 同步消费者(续) receiver=session.createReceiver(messageQueue); qCon.start(); msg=(TextMessage)receiver.receive(); System.err.println(“Received:”+msg.getText()); 异步消费者 Context ctx=getInitialContext(); QueueConnectionFactory qConFactory= (QueueConnectionFactory)ctx.lookup(“weblogic.jms.ConnectionFactory”); Queue messageQueue=(Queue)ctx.lookup(“MessageQueue”); Queu

文档评论(0)

docinpfd + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档