JMS始终在JavaEE五花八门的协议里,WebService满天飞的时候占一位置,是因为:
它可以把不影响用户执行结果又比较耗时的任务(比如发邮件通知管理员)异步的扔给JMS 服务端去做,而尽快的把屏幕返还给用户。
服务端能够多线程排队响应高并发的请求。
可以在Java世界里达到最高的解耦。客户端与服务端无需直连,甚至无需知晓对方是谁、在哪里、有多少人,只要对流过的信息作响应就行了,在企业应用环境复杂时作用明显。
JMS(Java Message Service)即 java消息服务 用于分布式系统得消息通信,JMS是J2EE技术中的一个部分,Sun公司定义了JMS的标准接口,即javax.jms.*。
JMS服务使得分布式系统的信息通信松散连接的,发送信息的客户端只需要负责发送信息,接收信息的客户端接收信息,两个客户端之间没有必要是同时可用的,甚至发送客户端都没有必要知道客户端的信息,只要负责发送到接收的服务端就可以,JMS可以说是低耦合的。
同时JMS API 做到了以下2点
异步的,服务端可以发送信息到一个客户端,客户端不需要为了收到信息而请求信息。
可靠的,JMS API保证了服务端所有发送的信息最少发送一次和只发送一次
下面介绍一些JMS API 的基本知识
JMS API 基本组成
JMS provider服务者,是一个消息系统通过实现JMS API 接口,用于管理和控制信息。l
l JMS client 客户端 用于发送和接收信息,通常是用在java程序中用java编写的
Messagesl 用于在客户端信息通信的对象
Administered Objects 由JMSl provider为了client创建的对象,通常是connectionFactory和destination
Messages 通信方式
JMS通信方式分为点对点通信,和发布/订阅方式
点对点方式(point-to-point)
点对点的消息发送方式主要建立在 Message Queue,Sender,reciever上,Message Queue 存贮消息,Sneder 发送消息,receive接收消息,
具体的信息就是 Sender Client发送Message 到Queue ,而 receiver Cliernt 从Queue中接收消息和发送消息已接受到Quere,确认消息接收。
在使用点对点方式时需要注意,
一条消息只有一个接收端,消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行
发布/订阅 方式(publish/subscriber Messaging)
发布/订阅方式用于多接收客户端的方式
作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。
作为subscriber ,在接收消息时有两种方法,destination的receive方法,和实现message listener 接口的onMessage 方法。
基础知识这里说的很少,具体的可以参照java.sun.com.的JMS API 指南
ActiveMQ的特性:
完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,也是Apache Geronimo默认的JMS provider。
POJO withdout EJB Container,不需要实现EJB繁琐复杂的Message Bean接口和配置。
Spring Base,可以使用Spring的各种特性如IOC、AOP 。
Effective,基于Jencks的JCA Container实现 pool connection,control transactions and manage security。
下面是它的特性列表 (详细的特性清单请参考http://activemq.apache.org/features.html)
1.多种语言和协议编写客户端
语言: Java, C, C++, C#, Ruby, Perl, Python, PHP
应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2.完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
3.对Spring的支持,ActiveMQ可以很容得内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
4.通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,
可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
5.支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
6.支持通过JDBC和journal提供高速的消息持久化
7.从设计上保证了高性能的集群,客户端-服务器,点对点
8.支持Ajax
9.支持与Axis的整合
10.可以很容易得调用内嵌JMS provider,进行测试
分享到:
相关推荐
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循Java消息服务(JMS)规范,用于在分布式系统中提供高效、可靠的消息传递。ActiveMQ的使用能够解决系统之间的耦合性问题,提高系统的可扩展性和性能,...
**activeMQ知识点** 1. **Apache ActiveMQ** 是一个开源的消息中间件,遵循JMS(Java消息服务)规范,用于处理异步通信和解耦应用程序。 2. **JMS接口**:Java应用程序通过JMS API与ActiveMQ交互,创建生产者发送...
### JMS与ActiveMQ知识点详解 #### 一、JMS简介 **Java Message Service (JMS)** 是由Sun Microsystems提出的一项技术规范,旨在为多种消息中间件(Message-Oriented Middleware, MOM)提供统一的接口标准。JMS的...
【Mule ActiveMQ 知识点详解】 Mule ActiveMQ 是一个基于 Java 的开源消息中间件,它在 Mule ESB(企业服务总线)框架中扮演着关键角色,为分布式系统提供高效、可靠的异步通信。Mule ESB 是一个强大的集成平台,而...
ActiveMQ是中国最流行的开源消息中间件之一,广泛应用于大型企业和互联网公司,如BAT(百度、...理解并熟练掌握这些ActiveMQ知识点,将使你在面试中表现出扎实的理论基础和技术能力,为在BAT这样的大公司工作做好准备。
**ActiveMQ知识点详解:** ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它实现了多种消息协议,如OpenWire、STOMP、AMQP、MQTT和XMPP。以下是ActiveMQ的一些核心概念和功能: 1. **消息队列(Message ...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker Protocol,即AMQP)和Java消息服务...理解并熟练掌握这些知识点,对于构建基于ActiveMQ的点对点消息系统至关重要。
### ActiveMQ知识点详解 #### 一、ActiveMQ简介与特性 **ActiveMQ**是由Apache基金会提供的一个开源消息中间件,其强大的功能与灵活性使其成为业界最受欢迎的消息传递解决方案之一。ActiveMQ支持**Java消息服务...
2. Apache ActiveMQ知识点 《ActiveMQ in Action》这本书详细讲解了使用ActiveMQ构建消息应用的技术,以下是一些关键知识点: - 消息服务(MOM)与Java消息服务(JMS):ActiveMQ是一个支持消息服务的消息代理,遵循...
使用这个工具,用户可以实现以下关键知识点: 1. **JMS接口**:了解Java Message Service(JMS)规范,它是Java平台上的标准API,用于在不同的应用之间发送和接收消息。ActiveMQ收发工具利用JMS接口与ActiveMQ...
**ActiveMQ 知识点详解:** 1. **什么是消息中间件:** 消息中间件是一种软件,它允许不同的应用程序通过消息传递进行通信,而不是直接调用对方的API。这有助于解耦系统,提高可扩展性和可靠性。 2. **ActiveMQ 的...
### ActiveMQ-CPP 开发手册知识点详述 #### 一、引言 - **编写目的**:本手册旨在帮助开发者快速掌握 CMS (C++ Messaging Service) 的使用方法,提高 C++ 开发者在消息传递系统方面的开发效率,并作为 CMS 开发的...
以下是关于如何在Linux上安装和配置ActiveMQ的详细步骤,以及相关的知识点: 1. **了解ActiveMQ**: - ActiveMQ是Apache软件基金会的顶级项目,用于处理消息传输,提供点对点和发布/订阅模式的消息传递。 - JMS...
### ActiveMQ 入门知识点详解 #### 一、ActiveMQ 概述 **ActiveMQ** 是由 Apache 软件基金会开发的一款免费且开源的消息中间件。与重量级且需付费的 IBM MQ 相比,ActiveMQ 更适合初学者及预算有限的项目使用。 *...
以下是关于ActiveMQ的一些核心知识点: 1. **ActiveMQ简介**:ActiveMQ是Apache软件基金会开发的一个开源项目,它支持多种协议,包括OpenWire、STOMP、AMQP、MQTT、XMPP和WS-Notification,适用于多种环境和语言。 ...
在实际的ActiveMQ demo中,通常会包含以下关键知识点: 1. **安装与配置**:首先,你需要下载并安装ActiveMQ,然后启动其内置的Broker服务。配置文件(如`activemq.xml`)用于定义消息队列、主题和其他高级设置。 ...
在使用ActiveMQ时,了解以下几个关键知识点是至关重要的: 1. **Java Message Service (JMS)**:JMS是一种API,用于在不同的应用程序之间通过消息传递进行通信。它定义了生产、存储、消费和传输消息的标准接口,...
根据给定的文件信息,以下是从“ActiveMQ In Action精简版”中提炼出的关键IT知识点,主要聚焦于ActiveMQ的介绍、配置、使用及高级功能。 ### ActiveMQ概述 ActiveMQ是Apache软件基金会下的一个开源项目,它是一款...
全面覆盖ActiveMQ相关知识点:这份面试专题资料涵盖了ActiveMQ的多个方面,包括基础知识、消息生产者和消费者、消息传递模式等等。它可以帮助应聘者全面掌握ActiveMQ的相关知识点,提高应聘的成功率。 精简易懂:每...