- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JMS与消息驱动bean.ppt
课程提纲;主要内容;消息服务;JMS是用于访问企业消息系统的开发商中立的API。而企业消息系统可以协助应用软件通过网络进行消息交互。
JMS的编程过程概括为:应用程序A发送一条消息到消息服务器的某个目的地(Destination),然后消息服务器把消息转发给应用程序B。应用程序A和B之间没有直接的代码关连。;面向消息的中间件 (MOM);消息格式;5种消息类型:
StreamMessage:消息由序列化对象流组成,读取对象(反序列化)时必须按照写对象(序列化)的顺序读;
MapMessage:消息包括“名字/值”。同散列表一样,数据是无序的,但映射中的每个名字是唯一的;
TextMessage:消息的主要内容是字符串的形式,这也是消息服务中经常使用的方式;
ObjectMessage:消息容纳序列化的对象,包括自定义的序列化的Java对象;
BytesMessage:消息的主要形式是二进制数据。;JMS支持消息服务模式,即点对点(point-to-point, PTP)和发布/订阅(publish/subscribe, pub/sub)。这两种消息传递模型非常相似,其区别如下:
PTP 消息传递模型中一条消息只能传递给一个接收方。采用javax.jms.Queue 表示;
pub/sub 消息传递模型允许一条消息传递给多个接收方。采用javax.jms.Topic表示。
这两种模型都通过扩展公用基类来实现。例如:javax.jms.Queue 和javax.jms.Topic 都扩展自javax.jms.Destination 类。;PTP(点对点)消息服务模式;pub/sub(发布/订阅)消息服务模式;异步消息系统 - Hornetq:
一个支持集群和多种协议,可嵌入的高性能异步消息系统;
HornetQ完全支持JMS。不但支持JMS1.1 API,同时也定义属于自己的消息API;
在不久的将来更多的协议将被HornetQ支持。
特点:
拥有超高的性能,
完全使用POJO,
拥有完善的错误处理机制,
提供了灵活的集群功能,
拥有强大的管理功能。;配置文件 - hornetq-jms.xml:
位于JBoss_Home\server\default\deploy\hornetq:
configuration xmlns=urn:hornetq xmlns:xsi=/2001/XMLSchema-instance xsi:schemaLocation=urn:hornetq /schema/hornetq-jms.xsd
… … …
queue name=MyFirstMessageQueue
entry name=/queue/MyFirstMessageQueue/
/queue
topic name=MyFirstMessageTopic
entry name=/topic/MyFirstMessageTopic/
/topic
/configuration;连接工厂(ConnectionFactory):为客户程序创建一连接的管理对象,并绑定到JNDI树上。客户程序使用JNDI检索ConnectionFactory,然后利用它建立一个JMS连接;
连接(Connection):JMS连接表示一个客户端到JMS提供者之间的一个活动连接。每个客户机都使用一个单独的JMS连接。每个JMS连接可以连接多个JMS目的地;
目的地(Destination):实际的消息存储位置;
会话(Session):表示JMS客户端与JMS服务器之间的会话状态。会话定义了消息的顺序;
消息生产者(MessageProducer,或QueueSender/TopicPublisher):Session创建用于发送消息;
消息消费者(MessageConsumer,或QueueSender/TopicPublisher):Session创建用于接收消息。;;PTP与pub/sub对比;发送消息的基本过程:
获得一个JBoss上下文(Context)的引用;
创建连接工厂(ConnectionFactory);
使用连接工厂创建一个连接(Connection);
使用连接创建一个会话(Session);
基于会话获取一个消息目的地(Queue或Topic);
基于会话和消息目的地创建消息生产者(Producer,或QueueSender/TopicPublisher);
基于会话创建消息对象(Message);
基于消息生产者发送所创建的消息对象;
关闭会话和连接。;获得一个JBoss Server上下文的引用:
Context ctx = new InitialContext(p)
您可能关注的文档
- GPS系统使用说明书-中国重汽海斗挖掘机系统.doc
- 2017年长垣县中小学校基础设施建设项目监理招标文件.doc.doc
- GTR15全球统一轻型车测试程序(WLTP)注册通过-能源知识库.doc
- H9352医院检验系统附件.doc-翁源县政府.doc
- Handle译者署名雪鹰工作室译者链接版本Android2.3r1结构继承.doc
- HG890【大视界】数位电视手机.doc
- 3.请举一个你领导或协调一组人来完成(或未完成)的一个有.doc
- 3、光明新区宏发上域公共租赁住房选房签约服务指引.doc-附.doc
- Hibernate持久类映射Hibernate将关系数据库中的表映射为对象集,将.doc
- Hibernate查询语言HQL.ppt
原创力文档


文档评论(0)