- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
您可能关注的文档
- 第一章 旅社的起源.ppt
- 第一单元认生物第一章奇妙的生命现象.ppt
- 第一章_幼园教育目标.ppt
- 第一章C语程序入门.ppt
- 第一章 旅活动与旅游业.ppt
- 第一章 幼科学教育目标.ppt
- 第一章劳动系与劳动关系主体.ppt
- 第一章_劳法概述.ppt
- 第一章_EP概述.ppt
- 第一章工作位分析与设计.doc
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)