springboot+rabbitmq实现延时任务
rabbitmq部署
这里采用了docker直接部署
1、拉取镜像
docker pull rabbitmq:management
2、启动镜像
docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
3、安装延时任务插件
插件下载地址
4、将下载的插件上传到宿主机/etc/rabbitmq路径下
5、将插件拷贝到容器内plugins目录下
docker cp /etc/rabbitmq/rabbitmq_delayed_message_exchange-3.8.0.ez 容器id:/plugins
6、进入容器查看是否上传成功
docker exec -it 容器id /bin/bash
cd plugins
ls
7、启动插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
8、退出容器并重启
exit
docker restart 容器id
springboot集成
pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置文件
spring:
rabbitmq:
host: 127.0.0.1
port: 5672
username: admin
password: ABCabc123
队列配置
package com.jiuguan.familycall.platform.common.config;
import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
/**
* @author :虚竹
* @date :Created in 2021-1-27
* @description:队列配置
*/
@Configuration
public class RabbitConfig {