




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaEE企业级架构开发与技术案例教程实验报告实验名称演示EJB的消息驱动bean示例实验目的1. 开发消息驱动bean的相关概念2. 消息的传递模型3. Queue类型消息开发步骤1、 实验目的1.开发消息驱动bean的相关概念2.消息的传递模型3.Queue类型消息开发步骤2、 实验内容及结果(请将相应题目代码和结果截图写在相应题目下方)1. 开发消息驱动bean的相关概念(1).java消息驱动bean属于Java消息服务(Java Message Service,简称JMS)。(2)JMS是用于访问企业消息系统的开发商中心的API。企业消息系统可以协助应用软件通过网络进行消息交互。(3)JMS的编程过程简单概括为:应用程序A-(消息)-Jboss JMS-(消息)-应用程序B。应用程序A和应用程序B没有直接的代码关联,两者实现了解耦。消息传递系统的中心就是消息。消息驱动Bean(MDB)是设计用来专门处理基于消息请求的组件,它和无状态Session Bean一样也使用了实例池技术,容器可以使用一定数量的bean实例并发处理成百上千个JMS消息。正因为MDB具有处理大量并发消息的能力,所以非常适合应用在一些消息网关产品。如果一个业务执行的时间很长,而执行结果无需实时向用户反馈时,也很适合使用MDB。如订单成功后给用户发送一封电子邮件或发送一条短信等。消息有下面几种类型,他们都是派生自Message接口。StreamMessage:一种主体中包含Java基本值流的消息。其填充和读取均按顺序进行。MapMessage:一种主体中包含一组名-值对的消息。(没有定义条目顺序)TextMessage:一种主体中包含Java字符串的消息(例如:XML消息)ObjectMessage:一种主体中包含序列化Java对象的消息。BytesMessage:一种主体中包含连续字节流的消息。2. 消息的传递模型:JMS支持两种消息传递模型:点对点(point-to-point,简称PTP)和发布/订阅(publish/subscribe,简称pub/sub)。二者有以下区别:1.PTP 消息传递模型规定了一条消息只能传递给一个接收方。采用javax.jms.Queue表示。2.Pub/sub 消息传递模型允许一条消息传递给多个接收方。采用javax.jms.Topic表示。注意:每种模型都通过扩展公用基类来实现。例如,javax.jms.Queue 和javax.jms.Topic都扩展自javax.jms.Destination 类。3. Queue类型消息开发步骤:Xml代码:java 中发送消息的概括:(1).得到一个JNDI初始化上下文(Context)InitialContext ctx = new InitialContext();(2).根据上下文查找一个连接工厂ConnectionFactory,改连接工厂是由JMS提供的,不需我们自己创建,每个厂商都为它绑定了一个全局JNDI,我们通过它的全局JNDI便获取它;QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup(ConnectionFactory);(3).从连接工厂得到一个连接QueueConnection。QueueConnection conn = factory.createQueueConnection();(4).通过连接来建立一个会话(Session);QueueSession session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);这句代码意思是:建立不需要事务的并且能自动确立消息已接收的会话。(5).查找目标地址:Destination destination=(Destination)ctx.lookup(queue/ztfQueue);(6).根据会话以及目标地址来建立消息生产者MessageProducer(QueueSender和TopicPublisher都扩展自MessageProducer接口):MessageProducer producer = session.createProducer(destination);TextMessage msg = session.createTextMessage(您好:胡晓亮,这是我的第一个消息驱动Bean);producer.send(msg);3.建立一个java项目,把jboss的client目录下的jar包全部buildPath到编译路径中。4.写消息的发送端Java代码:5.写消息的接收端采用MessageDrivenBean接收消息。当容器检测到bean守候的目标地址有消息到达时,容器调用onMessage()方法,将消息作为参数传入MDB。MDB在onMessage()中决定如何处理改消息。你可以使用注解指定MDB监听哪一个目标地址(Destination)。当MDB部署时,容器将读取其中的配置信息。一个MDB通常要实现MessageListener接口,在接口定义了onMessage()方法。Bean通过它来处理收到的JMS消息。Java代码:6.打包部署:讲项目打成一个jar包,貌似netbC.jar,放在JBOSS的deploy目录下,启动jboss7.运行QueueSender.java 发送消息3、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提运架梁安全教育培训试卷及答案
- 2025年沿海城市海洋生态修复政策与实施效果评估报告
- 人大监督工作课件
- 江苏省沭阳县修远中学、泗洪县洪翔中学2026届化学高一第一学期期中质量跟踪监视模拟试题含解析
- 2025年短视频平台内容监管与行业自律标准研究报告
- 2025-2030工业物联网安全防护需求增长与解决方案市场评估报告
- 四川省雅安市雅安中学2026届化学高一上期末联考试题含解析
- 2025-2030家政服务行业供应链优化与资源整合路径分析
- 2025-2030城市夜间配送组织方案及交通管理政策适配
- 2026届新疆库尔勒市新疆兵团第二师华山中学高一化学第一学期期中检测模拟试题含解析
- 共青团中央所属事业单位2024年度社会公开招聘笔试备考题库参考答案详解
- 2025年《分级护理制度》考试试题(及答案)
- 高中喀斯特地貌说课课件
- 气候变化与健康课件
- 公司电脑配备管理办法
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 楼板下加钢梁加固施工方案
- TGDMDMA 0026-2023 牙科种植用导板
- 医院发生火灾的应急预案及处理流程
- LY/T 1828-2009黄连木栽培技术规程
- X射线衍射课件(XRD)
评论
0/150
提交评论