Java消息服务

Java消息服务Java Message ServiceJMS应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

消息中间件的传递模式
                  
消息中间件一般有两种传递模型:点对点模型(PTP)和发布-订阅模型(Pub/Sub)[2]。

           
点对点模型(PTP)

点对点模型用于消息生产者和消息消费者之间点到点的通信。消息生产者将消息发动到由某个名字标识 的特定消费者。

这个名字实际上对应于消息服务中的一个队列(Queue),在消息传动给消费者之前它被存储在这个队列中。

队列可以是持久的,以保证在消息 服务出现故障时仍然能够传递消息。

      
发布-订阅模型(Pub/Sub)

发布-订阅模型用称为主题(topic)的内容分层结构代替了PTP模型中的惟一目的地,发送应
用程序发布自己的消息,指出消息描述的是有关分层结构中的一个主题的信息。希望接收这些消息的应用程序订阅了这个主题。订阅包含子主题的分层结构中的主题
的订阅者可以接收该主题和其子主题发表的所有消息。
下图展示了发布和订阅模型:

  
多个应用程序可以就一个主题发布和订阅消息,而应用程序对其他人仍然是匿名的。MOM
起着代理(broker)的作用,将一个主题已发表的消息路由给该主题的所有订阅者。

消息中间件产品与JMS

由于没有统一的规范和标准,基于消息中间件的应用不可移植,不同的消息中间件也不能互操作,这大大阻碍了消息中间件的发展。 Java Message
Service(JMS,
Java消息服务)是SUN及其伙伴公司提出的旨在统一各种消息中间件系统接口的规范。它定义了一套通用的接口和相关语义,提供了诸如持久、验证和事务的消息服务,它最主要的目的是允许Java应用程序访问现有的消息中间件。JMS规范没有指定在消息节点间所使用的通讯底层协议,来保证应用开发人员不用与其细节打交道,一个特定的JMS实现可能提供基于TCP/IP、HTTP、UDP或者其它的协议。

目前许多厂商采用并实现了JMS API,现在,JMS产品能够为企业提供一套完整的消息传递功能,下面是一些比较流行的JMS商业软件和开源产品。

1.IBM MQSeries

IBM
MQ系列产品提供的服务使得应用程序可以使用消息队列进行相互交流,通过一系列基于Java的API,提供了MQSeries在Java中应用开发的方法。它支持点到点和发布/订阅两种消息模式,在基本消息服务的基础上增加了结构化消息类,通过工作单元提供数据整合等内容。

2.WebLogic

WebLogic是BEA公司实现的基于工业标准的J2EE应用服务器,支持大多数企业级JavaAPI,它完全兼容JMS规范,支持点到点和发布/订阅消息模式,它具有以下一些特点:

1) 通过使用管理控制台设置JMS配置信息;

2) 支持消息的多点广播;

3) 支持持久消息存储的文件和数据库;

4) 支持XML消息,动态创建持久队列和主题。

3.SonicMQ

SonicMQ是Progress公司实现的JMS产品。除了提供基本的消息驱动服务之外,SonicMQ也提供了很多额外的企业级应用开发工具包,它具有以下一些基本特征:

1) 提供JMS规范的完全实现,支持点到点消息模式和发布/订阅消息模式;

2) 支持层次安全管理;

3) 确保消息在Internet上的持久发送;

4) 动态路由构架(DRA)使企业能够通过单个消息服务器动态的交换消息;

5) 支持消息服务器的集群。

4.Active MQ

Active MQ是一个基于Apcache 2.0 licenced发布,开放源码的JMS产品。其特点为:

1) 提供点到点消息模式和发布/订阅消息模式;

2) 支持JBoss、Geronimo等开源应用服务器,支持Spring框架的消息驱动;

3) 新增了一个P2P传输层,可以用于创建可靠的P2P JMS网络连接;

4) 拥有消息持久化、事务、集群支持等JMS基础设施服务。

5.OpenJMS

OpenJMS是一个开源的JMS规范的实现,它包含以下几个特征:

1) 它支持点到点模型和发布/订阅模型;

2) 支持同步与异步消息发送;

3) 可视化管理界面,支持Applet;

4) 能够与Jakarta Tomcat这样的Servlet容器结合;

5) 支持RMI、TCP、HTTP与SSL协议。

时间: 2024-10-07 01:48:33

Java消息服务的相关文章

JMS(Java消息服务)入门教程

阅读目录 什么是Java消息服务 为什么需要JMS JMS的优势 JMS消息传送模型 接收消息 JMS编程接口 JMS消息结构 JMS使用示例 译文链接(做了部分修改~~) 什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务连接起来,可以达到解耦的效果,我

JMS(java消息服务)学习一

一.JMS是个什么鬼 1.百度百科解释:JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. 2.JMS是一组消息服务的api即接口规范即数据库的JDBC消息服务的JMS. 二.为什么要学习,使用JMS 1.在JAVA中,如果两个应用程序之间对各自都不了解,甚至这

01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

 1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器. Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 二 开发 三 性能调优 WLS(Weblogic Server) Weblogic 12c新特性是加入了云支持 2 集群的好处:失败迁移和负载均衡. 3 分布式系统 分布式系统将工作划分到几个独立的模块中. 单个模块出现故障对整个系统的影响较小,这使得分布式系统具有更高的: ----可用性 ----

Java消息服务初步学习(基于Spring In Action的整理)

几个名词 Java消息服务(Java Message Service)是一个Java标准,定义了使用消息代理的通用API. 消息代理(message broker):类似于邮局的作用,确保消息被投递到指定的目的地. ActiveMQ Kafka 目的地(destination) 队列(queue,点对点模型):消息可以有多个接收者,但每一条消息只能被一个接收者取走. 主题(topic,点对线模型):订阅此主题的订阅者都会接收到此消息的副本. 异步消息相较于同步消息的优点 时间:异步消息不需要等待

JAVA消息服务JMS规范及原理详解

一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. JMS允许应用程序组件基于JavaEE平台创建.发送.接收和读取消息.它使分布式通信耦合度更低,消息服务更加可靠以及异步性. 二.常用术语介绍 在提到JMS时,我们通常会说到一些术语,解释如下: 消息

MQ消息队列(2)—— Java消息服务接口(JMS)

一.理解JMS   1.什么是JMS?         JMS即Java消息服务(Java Message Service)应用程序接口,API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建.发送.接收和读取消息.它使分布式通信耦合度更低,消息服务更加可靠以及异步性. 我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合. JMS不是消息队列,更不是某种消息队列协议.JMS是Jav

JMS(Java消息服务)认识与学习

1.JMS即Java消息服务,是Java平台中面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. 2.JMS分为两种,点对点消息模型 和发布/订阅消息模型 3.由六个模块组成 连接工厂ConnectFactory 消息队列的连接Connect 用于连接的对话Session 消息生产者MessageProcedure 消息消费者MessageConsume 消息监听者MessageListener 结构关系如图 原文地址:https://www.cnblogs.

Java消息服务-JMS

什么是JMS? JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. 消息服务: 消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持应用程序开发.在Java中,当两个应用程序使用

JMS(java消息服务)整合Spring项目案例

转载自云栖社区 摘要: Sprng-jms消息服务小项目 所需的包: spring的基础包 spring-jms-xx包 spring-message–xx包 commons-collection-xx包 commons-pool2-xx包 aop切面的包: spring-aop,spring-aspect... Sprng-jms消息服务小项目 所需的包: spring的基础包 spring-jms-xx包 spring-message–xx包 commons-collection-xx包 c