一、JMS基本思想

JMS(Java Message Service)即java消息服务,提供了一组标准的java API,用于企业级的消息处理。通过JMS可以在java程序之间发送和接受消息以达到交换数据的目的。

一个JMS应用由以下几部分组成:

1、       消息发送者(消息生产者):消息发送者是指消息的创建者和发送者,是消息的发源地。

2、       JMS提供者:是指实现JMS API接口的消息系统,是消息的中转站。JMS定义了Java中访问消息中间件的接口,但JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMS提供者(JMS Provider)。WebLogic Server内嵌了消息中间件的功能,所以WebLogic Server就充当了JMS提供者的角色。

3、       消息接受者(消息消费者):消息接受者是指接受消息的应用程序,是消息的最终的目的地。

4、       管理对象:管理对象是预定义的JMS对象,客户端使用这些预定义的对象进行通信,例如JMS连接工厂。

二、JMS通信机制

1、点到点通信(PTP)模式

JMS把每一个消息传递给一个消息消费者,并只有唯一的一个,即一个消息生产者对应一个消息消费者。

2、发布/订阅(Publish/Subscribe,Pub/Sub)模式

一个消息生产者对应多个消息消费者。

 

可以在一个应用中同时使用这两种消息传递方式。

三、JMS概念的一些简洁定义

连接工厂(ConnectionFactory):客户端用来创建连接的管理对象。

连接(Connection):代表一个与JMS提供者的活动连接。

目的(Destination):标识消息的接收方式。分为队列(Queue)和主题(Topic)两种。

会话(Session):接收和发送消息的会话线程。

消息生产者(MessageProducer):会话使用它把消息发送到目的地。

消息消费者(MessageConsumer):会话使用它从目的地接受消息生产者发送的消息。

四、JMS消息发送及接收的过程:
1、发送消息过程:

(1)、使用JNDI查询管理对象ConnectionFactory和Destination。

(2)、使用管理对象ConnectionFactory建立连接Connection。

(3)、使用连接Connection建立会话Session。

(4)、使用会话Session和管理对象Destination创建消息生产者MessageProducer。

(5)、使用消息生产者MessageProducer发送消息。

2、接受消息的客户端使用JMS的过程:

(1)、使用JNDI查询管理对象ConnectionFactory和Destination。

(2)、使用管理对象ConnectionFactory建立连接Connection。

(3)、使用连接Connection建立会话Session。

(4)、使用会话Session和管理对象Destination创建消息消费者MessageConsumer。

(5)、使用消息消费者MessageConsumer接收消息。

五、JMS消息类型

(1)、StreamMessage:消息由串行化的Java对象组成,必须按照设置时的顺序读取对象。

(2)、MapMessage:消息由名称/值对组成,其中名称为字符串类型,值为Java数据类型。可以使用列举顺序读取该消息的值,也可以通过名称无序地获取值。

(3)、TextMessage:消息的主体为字符串(),这是最常用的消息类型。

(4)、ObjectMessage:消息的主体为串行化的Java对象,可以是自己定义的串行化的Java对象。

(5)、BytesMessage:消息的主体是二进制数据。

Weblogic.jms.extensions.XMLMessage 是WebLogic实现的JMS提供者提供的扩展的消息类型,提供更便利的操纵XML内容的方式。

转载于:https://www.cnblogs.com/CharmingDang/archive/2011/12/20/9663968.html

J2EE技术(三)——JMS相关推荐

  1. J2EE技术简单介绍

    j2ee技术          java2的企业版是一系列中间件服务组合起来的强健的系统,这使得服务器方应用程序开发人员的工 作非常简单.j2ee包括的技术如下:     Enterprise Jav ...

  2. 关于云计算存储虚拟化技术三个层次上的实现

    关于云计算存储虚拟化技术三个层次上的实现 随着企业的成长,业务和应用不断增加,IT 系统规模日益庞大,带来高能耗.数据中心空间紧张.IT 系统总体拥有成本过高等问题;而现有服务器.存储系统等设备又没有 ...

  3. CHARISMA平台采用J2EE技术构建,MVC设计模式

    CHARISMA平台采用J2EE技术构建,MVC设计模式,具有完全独立知识产权开放式框架,并引进SOA先进的理念及ajax技术,采用创新的基于引擎模式实现的纯B/S多层结构智能WEB平台.平台具有极高 ...

  4. Kaldi语音识别技术(三) ----- 完成L.fst的生成

    Kaldi语音识别技术(三) ----- 完成L.fst的生成 文章目录 Kaldi语音识别技术(三) ----- 完成L.fst的生成 基础知识 一.运行环境准备 二.文件准备 lexicon.tx ...

  5. 京东技术三面 +HR 面,成功拿到 30K offer 就职京东

    三面京东+HR 面: 一面: 离职原因: Zookeeper 在项目中的使用及原理: Springcloud 的一些组件介绍: Redis 实现方式: 为什么使用 setnx,或者说 set 和 se ...

  6. 刚刚毕业去京东技术三面+HR面,成功拿到40K offer就职京东

    一面: 离职原因: Zookeeper在项目中的使用及原理: Springcloud的一些组件介绍: Redis实现方式: 为什么使用setnx,或者说set 和setNx有什么区别 系统在10:05 ...

  7. Java在渔业领城的应用_RFID与J2EE技术在渔船管理系统中的应用研究

    计算机与现代化 2011年第2期 JISUANJI YU XIANDAIHUA 总第186期 文章编号:1006- 2475(2011)02-0164-03收稿日期:2010-10-08基金项目:辽宁 ...

  8. ActiveMQ入门 (三) JMS消息组成

    ActiveMQ入门 (三) JMS消息组成 文章目录 ActiveMQ入门 (三) JMS消息组成 一.JMS协议组成结构 二.JMS Message消息组成 1.JMS消息头 2.JMS消息体 1 ...

  9. 乐学习知选择--我的J2EE技术历程

    转眼换工作已经两个多月了,转眼今年已经到9月份了,转眼女朋友也来到了自己身边.有太多的转眼,如今在这个经理不在的早晨,可以肆意的点点这里看看那里,想想自己,有点吉利思的感觉. 这两个多月,知道了什么叫 ...

最新文章

  1. 编译gcc4.4.6与ICE遇到的几个问题
  2. class unity 定义类_Unity 游戏框架搭建 2019 (二十五) 类的第一个作用 与 Obselete 属性...
  3. 返回多个不同类型参数的值(out)可变参数一维数组( params )把值从方法中带出(ref) 方法递归(方法自己调用自己与循坏类似注意return每次只能跳出一个方法))...
  4. 《剑指offer》两个链表的第一个公共节点
  5. frontcon函数用不了_真香警告!用了XLOOKUP再也回不去VLOOKUP了
  6. Animation Studio插件怎么用?Nitrozme Animation Studio Packages Mac(AE插件拓展包) 安装教程
  7. emlog独立会员中心模板源码 UserEmlog Ver:1.0
  8. 小学计算机教师德育工作计划,小学教师个人德育工作计划
  9. 为什么很少人学汇编_要想精通C语言,必须先学习汇编吗
  10. python可变参数的实验性_详解Python的三种可变参数
  11. python生成器的实现及原理
  12. 浅谈ACM算法学习与有效训练
  13. 数字图像处理(matlab版)第三版,数字图像处理及MATLAB实现(第3版)
  14. 1元云购网站建设,一元云购网站制作,夺宝网站定制公司,一元云购源码开发
  15. 科罗拉多州立大学计算机优势,科罗拉多州立大学——一所你可能不了解的好学校...
  16. html 页面换皮肤,HTML中如何实现更换网页皮肤
  17. 数据类型和运算符(使用Python的AI编程2部1单元2课)
  18. 自签名证书的安装(二)
  19. 福州师范大学计算机专业导师简介,黄欣沂_福建师范大学研究生导师信息
  20. ATTO 700 荧光染料 齐岳

热门文章

  1. 终于在2000年的联想6920上较完美的运行起了Gentoo Linux
  2. Java实现将文件或者文件夹压缩成zip
  3. 实用的HTML5的上传图片方法
  4. Mysql5.7开启远程
  5. 光落在你脸上,可爱一如往常
  6. 入库成本与目标成本对比报表中我学到的东西
  7. jQ效果:简单的手风琴效果
  8. 一分钟了解阿里云产品:RDS概述
  9. 管家婆SQL SERVER数据库“可能发生了架构损坏。请运行DBCC CHECKCATALOG”修复
  10. CCNA实验(8) -- PPP HDLC