现在百度云资源那有分享哦

JMS 概述

JMS 即 Java 消息服务(Java Message Service 的简称),是 Java EE 的标准/规范之一。这种规范(标准)指出:

 

消息的发送应该是异步的、非阻塞的。

 

JMS 只是 Java EE 中定义的一组标准 API,它自身并不是一个消息服务系统,它是消息传送服务的一个抽象,也就是说它定义了消息传送的接口而并没有具体实现。

 

JMS 和 ActiveMQ 的关系

JMS 只是定义了一组有关消息传送的规范和标准,并没有真正实现,也就说

 

JMS 只是定义了一组接口而已。

 

ActiveMQ 安装配置

ActiveMQ 官方地址:http://activemq.apache.org/download-archives.html

 

目前最新版本是 ActiveMQ 5.15.8 Release,我们以 5.14.0 为例: enter image description here

 

因为本机是 Windows 64 位,所以下载的也是 64 位的,在 Windows 64 里执行 activemq.bat: enter image description here

 

如果是 linux64 位,则执行 apache-activemq-5.14.0/bin/activemq,运行结果差不多。

 

运行日志中看到:

 

ActiveMQ 控制台端口默认启动到 8161 端口,ActiveMQ 控制台界面是 enter image description here

 

默认登录用户名密码都是 admin。修改默认 8161 端口: enter image description here

在 jetty.xml 中的 jettyPort 对应的 port 改成你想要设置的端口就行了。

 

ActiveMQ 服务端端口默认是 61616 enter image description here

 

在 activemq.xml 中 61616 的默认端口来自 transportConnector 对应的 uri 地址,如果想要修改或新增端口,也可以在这个地方新增或修改。 enter image description here

ActiveMQ 队列查看 enter image description here

ActiveMQ 启动或停止 ActiveMQ 启动命令为activemq start, ActiveMQ 停止命令为activemq stop, 查看运行状态命令为activemq status。

 

这里插个小话题,在日常使用中常常有人会用 kill -9 直接杀掉进程,但是建议大家不要使用 kill -9,因为有可能 ActiveMQ 进程没有被杀掉,导致重复开启了多个。

 

ActiveMQ 的初步使用

基础知识普及

Java 消息队列 ActiveMQ 消息传输模式包括两种:

 

点对点模式 Point-to-Point(P2P)

 

enter image description here

在点对点模型中,每一条消息都有一个发送者和一个接收者,如图上所示。

 

当消息代理得到消息时,它将消息放入一个队列中。当接收者请求队列中的下一条消息时,消息会从队列中取出,并投递给接收者。因为消息投递后会从队列中删除,这样就可以保证消息只能投递给一个接收者。

 

特点:

 

每个消息只要一个消费者;

发送者和接收者在时间上是没有时间的约束,也就是说发送者在发送完消息之后,不管接收者有没有接受消息,都不会影响发送方发送消息到消息队列中;

发送方不管是否在发送消息,接收方都可以从消息队列中去到消息;

接收方在接收完消息之后,需要向消息队列应答成功。

发布/订阅模式 Publish/Subscribe(Pub/Sub)

 

enter image description here

 

在发布—订阅消息模型中,消息会发送给一个主题。与队列类似,多个接收者都可以监听一个主题。但是,与队列不同的是,消息不再是只投递给一个接收者,而是主题的所有订阅者都会接收到此消息的副本,如图上所示。

上一篇:21.Kubernetes之ConfigMap


下一篇:idea的生成类注释和方法注释