JMS概述

jms介绍

JMS是Java Message Service的简写,即java消息服务,它是一个与平台无关的api,它定义了一套应用程序之间收发消息,异步通讯的规范,如果有中间件mom表示自己是一个jms,那它肯定是实现了jms这套标准。

JMS消息通常有两种类型,点对点和订阅发布,点对点的消息中,生产者生产的消息只给一个消费者使用,它与队列Queue关联。

订阅发布的消息中,客户端只要订阅了某个主题,那么就可以接收消息,也就是多个消费者可以获得消息。

JMS消息模型中几个关键要素:

ConnectionFactory:连接工厂,由管理员负责创建。 

Connection:JMS连接,表示客户端和服务端一个活动的连接,由客户端通过调用连接工厂创建。 

Session:会话,由JMS连接创建,表示客户端与服务端的一个会话线程。 

 Destination:消息目的地,由会话创建。 

 Queue:队列,在点对点的消息类型中使用,即Destination。 

Topic:主题,在发布订阅的消息中使用,也相当于Destination。 

 Message:消息,由会话创建。 

 MessageProducer:生产者,消息的发送者,由会话创建。 

 MessageConsumer:消费者,消息接收者,由会话创建。

以上要素之间的关系,可以通过下图来表示更直观:

JMS概述

从图中可以看出,消息从生产者到消费者,不是直接到的,生产者将消息发送到了Destination,消费者也会从Destination中来取消息。

activemq

实现了JMS标准的中间件又叫消息服务提供者,目前activemq,是用java实现的mom,是apache基金会项目,开源,免费。

activemq的安装只需要安装jdk环境,直接在官网下载二进制的zip包,或者gz压缩包,解压即可,启动activemq,需要进入activemq安装目录,然后执行bin/activemq start,执行之后(windows平台的activemq启动需要进入activemq/bin/win64目录,然后执行activemq.bat start),会在控制台中看到如下信息。

JMS概述

接着可以在浏览器中访问http://localhost:8161/admin,进入activemq管理平台,用户名密码均为admin。

JMS概述