`
- 浏览:
571683 次
- 性别:
- 来自:
广州
-
3.1 JMS简介
Java Message Service 规范 1.1 声称:JMS 是一组接口和相关语义,它定义了 JMS 客户如何访问企业消息产品的功能。
在 JMS 之前,每一家 MOM 厂商都用专有 API 为应用程序提供对其产品的访问,通常可用于许多种语言,其中包括 Java 语言。JMS 通过 MOM 产品为 Java 程序提供了一个发送和接收消息的标准的、便利的方法。用 JMS 编写的程序可以在任何实现 JMS 标准的 MOM 上运行。
JMS 可移植性的关键在于:JMS API 是由 Sun 作为一组接口而提供的。提供了 JMS 功能的产品是通过提供一个实现这些接口的提供者来做到这一点的。开发人员可以通过定义一组消息和一组交换这些消息的客户机应用程序建立 JMS 应用程序。
JMS1.0版本于1998年推出,最新的版本是2002发布的JMS 1.1规范。JMS支持消息中间件的两种传递模式:点到点模式和发布-订阅模式。在JMS 1.1以前的版本中,每一种都有自己的特定于该模式的一组客户机接口。JMS1.1版本提供了单一的一组接口,它允许客户机可以在两个模式中发送和接收消 息。这些“模式无关的接口”保留了每一个模式的语义和行为,是实现 JMS 客户机的最好选择。
统一模式的好处是:
1) 使得用于客户机的编程更简单。
2) 队列和主题的操作可以是同一事务的一部分。
3) 为JMS提供者提供了优化其实现的机会。
3.2 JMS体系结构
3.2.1 JMS接口描述
JMS 支持两种消息类型PTP 和Pub/Sub,分别称作:PTP Domain 和Pub/Sub Domain,这两种接口都继承统一的JMS Parent 接口,JMS 主要接口如下所示:
JMS Parent | PTP Domain | Pub/Sub Domain |
ConnectionFactory | QueueConnectionFactory | TopicConnectionFactory |
Connection | QueueConnection | TopicConnection |
Destination | Queue | Topic |
Session | QueueSession | TopicSession |
MessageProducer | QueueSender | TopicPublisher |
MessageConsumer | QueueReceiver | TopicSubscriber |
以下是对这些接口的简单描述:
ConnectionFactory:连接工厂,JMS 用它创建连接
Connection:JMS 客户端到JMS Provider 的连接
Destination:消息的目的地
Session:一个发送或接收消息的线程
MessageProducer: 由Session 对象创建的用来发送消息的对象
MessageConsumer: 由Session 对象创建的用来接收消息的对象
3.2.2 JMS消息模型
JMS 消息由以下几部分组成:消息头,属性,消息体。[4]
消息头(header):JMS消息头包含了许多字段,它们是消息发送后由JMS提供者或消息发送者产生,用来表示消息、设置优先权和失效时间等等,并且为消息确定路由。
属性(property):由消息发送者产生,用来添加删除消息头以外的附加信息。
消息体(body):由消息发送者产生,JMS中定义了5种消息体:ByteMessage、MapMessage、ObjectMessage、StreamMessage和TextMessage。
3.3 JMS编程实践
广义上说,一个JMS应用是几个JMS 客户端交换消息,开发JMS客户端应用由以下几步构成:[2]
1) 用JNDI 得到ConnectionFactory对象;
2) 用JNDI 得到目标队列或主题对象,即Destination对象;
3) 用ConnectionFactory创建Connection 对象;
4) 用Connection对象创建一个或多个JMS Session;
5) 用Session 和Destination 创建MessageProducer和MessageConsumer;
6) 通知Connection 开始传递消息。
原文地址
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf消息中间件和JMS消息服务.pdf
消息中间件和JMS消息服务.rar 消息中间件和JMS消息服务.rar
JMS Java Message Service Java消息服务。是JAVA EE中的一个技术,JMS定义了JAVA中访问消息中间件的接口。类似JDBC。定义了接口,并不具体实现。实现JMS接口消息的中间件称为JMS Provider.
消息中间件与JMS.pdf
消息中间件原理及JMS简介 本文介绍了企业中间件的类型,消息中间件原理及JMS的相关介绍,对于想要进一步学习的人员很有帮助
现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点……
最全的基于spring mvc的JMS+activeMQ实现的消息中间件代码例子,源程序和apache-activemq-5.10.0-bin.zip
activemq中间件视频 jms
内容为基于JMS的消息中间件的研究与实现,格式为CAJ,页数为54
内容为JMS消息中间件在数据集成系统中的研究与应用,格式为CAJ,页数为为54
一个基于JMX分布管理框架的JMS消息中间件的设计及其实现。论文是基于本人自己参与的开源项目为题的,完全公开本论文是本着开源的精神,欢迎引用和互相吸取并改进,使用本论文的相关内容不涉及版权问题。
JMS即JAVA消息服务(Java Message Service)应用程序接口是一个JAVA平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信,是一个与具体平台无关的API。TIBCO Rendezvous...
activemq消息中间件的使用demo,以及spring集合jms实现消息发送和处理。
Java Message Service(JMS)是SUN提出的旨在统一各种MOM(Message-Oriented Middleware )系统接口的规范,它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠...
内容为JMS消息中间件的设计与实现,格式为CAJ,页数为69
内容为基于JMS和XML的分布式异构系统消息中间件的设计,格式为CAJ,页数为56
jms消息中间件apache-activemq-5.11.1-bin
java消息服务(Java Message Service)即JMS,是一个Java平台中关于面向消息中间件的api,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信 什么是AMQP AMQP(advanced message queuing protocol)是一...
JMS规范详情 AMQP协议详情 RocketMQ RabbitMQ Kafka ActiveMQ ......对比