项目路径:https://github.com/zhaopeng01/springboot-study/tree/master/study_15
序言
用来在服务和服务之间进行异步通信的一种技术,采用TCP通信协议,
为了进一步提高网站性能,提高网站并发能力,提高网站可用性,可以使用mq消息中间件进行流量削峰,异步通信,任务的异步处理,服务解耦合等
安装
去官网下载tar.gz包,放到自己喜欢的地方去
地址:下载5.15.9
然后进入路径:apache-activemq-5.15.9/bin/macosx
我的路径是:/Users/zhaopeng/develop/mq/apache-activemq-5.15.9/bin/macosx
启动并访问ActiveMq
通过命令启动:
./activemq start
在浏览器中输入URL: http://localhost:8161/
点击Manager ActiveMQ boker
输入用户名:admin
密码admin
然后就可以看到下图,就代表启动ok了
解释下上面图片中控制台这些按钮的基本信息:
Home:查看 ActiveMQ 的常见信息
Queues:查看 ActiveMQ 的队列信息
Topics:查看 ActiveMQ 的主题信息
Subscribers:查看主题的订阅者信息
Connections:查看 ActiveMQ 客户端的连接信息
Network:查看 ActiveMQ 的网络信息
Scheduled:查看 ActiveMQ 的定时任务
Send:用于通过表单方式向队列或者主题发送具体的消息
正文
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
点对点发送消息
这个队列是不需要我们提前定义好的,它会在我们需要的时候
动态的创建
。
package com.zyc.active;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
/**
* @description: 点对点发送消息
*
* @author zhaopeng
* @date 2019/4/9
*/
@Component
public class O2OSend {
@Autowired
private JmsTemplate jmsTemplate;
public void send(String message) {
jmsTemplate.convertAndSend("zyc", message);
}
}
点对点接收消息
package com.zyc.active;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
/**
* @description: 点对点接收消息
*
* @author zhaopeng
* @date 2019/4/9
*/
@Component
public class O2OReceive {
@JmsListener(destination = "zyc")
public void receive(String message) {
System.out.println