Jms术语、接口、操作流程概览

原创 2006年06月08日 22:28:00
一、消息术语
消息:
封装发送方及接收方之间传递的信息,包括消息主体(数据)、标头及可选的一些属性
标头:
         包含客户端及JSM提供程序所需的标识、路由消息的信息
         各种类型的消息都具有相同的标头结构
主体:
         包含具体的应用数据。
         据消息类型的不同有多种形式:简单文本字符串、XML、二进制流、已序列化的对象
被管理对象:
         JMS应用程序之外产生并维护的对象,提供访问消息提供程序、连接已定义队列和主题的通用手段。使用JNDI来定位被管理对象。
连接:
         应用和JMS提供程序之间的链路
会话:
         用于对消息的收发过程进行管理
         它建立在连接之上,负责创建生产者和消费者、创建消息对象、处理事务、控制确认等
目的地
         JMS消息的发送目标,可以是一个队列也可以是一个主题
队列:
         点到点模式下的目的地。消息被送进队列,然后被一个接收者取走
主题
         发布/订阅模式下的目的地。消息被送进主题,然后JMS提供程序将其拷贝分发给该主题的订阅者
生产者
         消息的来源。有两种生产者:发送者(Sender)和发布者(Publisher)
         Sender将消息发送到点到点模式下的队列
         Publisher将消息发布到发布/订阅模式下的主题
消费者
         消息的接收者。有两种消费者:接收者(Receiver)和订阅者(SubScriber)
         Receiver从点到点模式下的队列中取走消息
         SubScriber从发布/订阅模式下的主题中接收消息
 
二、接口概览
消息接口
Message:
         各类消息的基本接口。定义了消息的头、属性和主体
TextMessage:
         定义包含String对象的消息主体。用于基本的文本消息及包含XML的消息
BytesMessage:
         定义一个包含字节序列的消息主体。用于支持现有消息格式和非Java系统接口
ObjectMessage:
         定义包含可序列化Java对象的消息主体,只能包含一个对象。如果需要发送多个对象,则需发送对象的集合
MapMessage:
         定义包含一张映射表的消息主体,该映射表以字符串为关键字,以Java对象为值。可通过名字和按顺序访问对象
StreamMessage:
         定义可作为Java对象流被访问的消息主体。访问它的方法与java.io.DataInputStreamjava.io.OutputStream非常相似。用于写原语和对象序列
 
点到点接口
Queue:
         点到点消息的目的地。将消息发往队列,并在创建发送方和接收方的时候指明队列
QueueSender:
         发送消息到指定队列
QueueReceiver:
         从指定队列接收消息
QueueSession:
         为某一队列创建发送方、接收方及各种类型的消息
QueueConnection:
         建立与JMS提供程序的连接,用于为应用程序创建会话
QueueConnectionFactory:
         一个与具体提供程序相捆绑的类,用于创建与JMS提供程序的连接,常在JNDI名字空间中查找它
 
发布/订阅接口
Topic:
         发布/订阅消息的目标地址。对于某一主题允许有多个发布者和订阅者
TopicPublisher:
         发布消息到指定主题
TopicSubscriber:
          订阅某一主题,同时支持阻塞和非阻塞的receive调用,另外也提供对已注册消息监听器的异步调用
TopicSession:
         为指定的连接创建发布人、订阅人以及各种类型的消息
TopicConnection:
         建立与JMS提供程序的连接,用于为应用创建对话
TopicConnectionFactory:
         一个与具体提供程序相捆绑的类,用于创建与JMS提供程序的连接
 
三、操作流程概览
使用JMS可以分为两个阶段:初始化消息处理
初始化过程建立与消息提供程序的连接,创建目的地、发送方和接收方;
消息处理完成消息的发送和接收
 
JMS的初始化包括如下步骤:
1.   查找一个连接工厂(QueueConnectonFactoryTopicConnectionFactory)
2.   使用工厂创建连接(QueueConnectionTopicConnection)
3.   在连接上创建会话(QueueSessionTopicSession)
4.   查找一个目的地(Queue或者Topic)
5.   使用目的地在会话上创建发送方和接收方(QueueSender/QueueReceiver或者TopicPublisher/Subscriber)
6.   对于异步接收者/消费者,注册一个消息监听器,用于监听消息的到达
 
JMS对象的初始化完成后,按以下步骤发送消息:
1.   在会话之上建立消息对象
2.   填充消息的内容
3.   通过发送方或生产者发送消息
 
JMS对象的初始化完成后还可以按以下步骤接收消息
1.   对于同步接收方式,使用接收方或消费者接收下一条可获得的消息;
对于异步发送方式,调用所连接对象的start方法开始接收消息
2.   通过前面得到的Message对象的句柄,读取消息的内容并处理它

二、消息中间件ActiveMQ JMS术语(002)

实现JMS接口的消息中间件 Provider(MessageProvider):生产者 Consumer(MessageConsumer):消费者 PTP:Point  to Point ,即点...
  • develop_wangzhi
  • develop_wangzhi
  • 2018年01月10日 21:34
  • 7

JMS应用程序接口

ConnectionFactory接口(连接工厂) 用户用来创建与JMS提供者连接的被管对象。JMS客户通过可移植的接口访问连接,这样当下层的实现改变时,代码不需要进行修改。 管理员在JNDI名...
  • qq_21336789
  • qq_21336789
  • 2016年10月20日 11:45
  • 366

JMS及其API介绍

Java Message Service是java ee的规范之一,可以用来发送异步消息,在某些场景下,可以作为不同系统,或者不同模块之间的集成方式。          可以类比为通过数据库来集...
  • zmx729618
  • zmx729618
  • 2016年07月19日 09:33
  • 2076

jms规范

1.2 名词解释 B2Bi: Business to Business integration (企业间集成) JMS: Java Message Service (Java消...
  • majian_1987
  • majian_1987
  • 2013年09月17日 11:21
  • 1895

基于JMS消息中间件的分布式系统初探究(二) - 服务端反射调用组件方法

在上一篇文章中,我们解决了子系统之间的通讯问题,并跑起来了一个模型项目。这里我们要详细实现服务端程序。我们在服务端运行Spring,利用Spring的IoC容器来管理所有的Service组件,然后根据...
  • tracker_w
  • tracker_w
  • 2015年03月25日 02:46
  • 1664

Spring中AOP操作的相关术语

Joinpoint(连接点): 类里面可以被增强的方法,这些方法称为连接点   Pointcut(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义.   Advice(通...
  • qq_24693837
  • qq_24693837
  • 2017年02月07日 15:00
  • 499

mysql数据库相关基本术语和概念

1、DDL:Data Definition Language,即数据定义语言,定义数据库涉及的各种对象,定义数据的完整性约束、保密限制等约束。 2、DML:Data Manipulation...
  • tuzongxun
  • tuzongxun
  • 2016年06月05日 19:39
  • 2487

学习Git需要清楚的几个术语以及常用的Git命令总结

给大家推荐一个github仓库,记录了一些常用的git命令,基本能满足日常工作的需要. https://github.com/521xueweihan/git-tips...
  • u010689306
  • u010689306
  • 2017年07月16日 08:14
  • 200

理解面向消息的中间件和JMS

第二章:理解面向消息的中间件和jms 2.1企业级消息简介 企业级消息是在分布式系统之间进行传递的数据。当前有很多方法可以完成这一目的: 1.远程过程调用,例如COM、CORBA、DCE和EJB 2....
  • liu136313
  • liu136313
  • 2015年08月08日 11:20
  • 1140

Android应用组件之概览屏幕

摘要: 概览屏幕与任务 1 概述        概览屏幕(也称为最新动态屏幕、最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务。 用户可...
  • Create_Cool
  • Create_Cool
  • 2017年08月31日 20:23
  • 200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jms术语、接口、操作流程概览
举报原因:
原因补充:

(最多只允许输入30个字)