JMS与消息驱动bean.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档