您的位置:首页 > 其它

JMS与ActiveMQ的基本概念

2017-03-17 10:01 162 查看
一、JMS的了解

JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。

1. JMS的消息模型

1)点对点(P2P) 模型

2)发布/订阅模型

2 .消息发送接收模型图



3.两种模型的区别与特点

点对点模型(Queue):

1)每个消息只有一个消费者,

如果一条消息被消息者接收,消息就不存在于消息队列queue中了,那么其他的消费者接收不到这条消息。

2)发送和接受消息在时间上没有依赖性

也就是说,生产者在发送消息后,消费者可以在任意的时刻接收,只要该消息没有被其他消费者接受或者超时了。消费者也可以先运行,一但生产者将消息发送到队列中,消费者即可从队列中接受消息。

3) 消费者在消息接收之后需要像队列应答确认消息接收成功

接收消息后消费者必须发送应答成功信号(Acknowledges),表示消息已被接收,否则JMS服务器会认为该消息没有被成功接收,那么这条消息还可以被其他消费者接收,直到这个消息被消费掉。



发布订阅模型(Topic)

发布/订阅传递消息类型与主题(Topic)有关。生产者发布消息,而消费者订阅感兴趣的消息,生产者将消息和一个特定的主题(Topic)连在一起.

1 ) 每个消息都可以有多个订阅者

也是就是说每个消息有多个消费者,只要订阅了这个主题(Topic),就可以获得这个消息。

2) 发布者和订阅者之间有时间上的依赖性。

针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息,而且为了消费消息,订阅者必须保持运行的状态(也就是说在必须先启动消费者那方)。



二、ActiveMQ

ActiveMQ是实现了JMS的开源软件,ActiveMQ是一个易于使用的消息中间件。

安装与使用

1.下载

下载ActiveMQ,下载地址:http://pan.baidu.com/s/1nvltEyP,解压好的文件目录如下



- bin存放的是脚本文件

- conf存放的是基本配置文件

- data存放的是日志文件

- docs存放的是说明文档

- examples存放的是简单的实例

- lib存放的是activemq所需jar包

- webapps用于存放项目的目录

2.启动服务

双击/bin/win64目录下(我的电脑系统是64位的,所以是这个目录,如果是32位系统的目录是/bin/win32)的activemq.bat,启动activemq服务。



3.监控

http://127.0.0.1:8161/admin/

,启动服务后,可以通过这个地址查看activemq活动的状态。用户名和密码都是admin。



可以看到队列“FirstQueue1”中此时有十条消息未被消费。

AciveMQ的好处

看下图应用程序A将Message发送到服务器上,然后应用程序B从服务器中接收A发来的消息。



1)如果网络连接不可用,ActiveMQ会存储消息,直到连接变得可用时,再将消息发送给应用程序B。

2)当应用程序A发送其消息时,应用程序B甚至可以不处于执行状态。直到应用程序B开始执行消费为止,消息会保留。防止了应用程序A因为等待应用程序B消费消息而出现阻塞。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: