curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
systemctl start docker
docker pull rabbitmq:management
docker run -itd --name rabbit01 --hostname myrabbit -e RABBITMQ_DEFAULT_USER=zxt -e RABBITMQ_DEFAULT_PASS=zxt -p 15672:15672 -p 5672:5672 -p 25672:25672 rabbitmq:management
RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS填用户名和密码
http://192.168.190.128:15672/
主机号+端口(默认15672)


<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-amqpartifactId>
dependency>
spring:
rabbitmq:
host: 192.168.190.128
port: 5672
username: zxt
password: zxt
# 连接超时时间
connection-timeout: 15000
queues={" "} 填的是队列名
fileBody 是队列存放的信息
@Service
public class RabbitmqConsumer {
@RabbitListener(queues = {"ffms01"})
public void receive(@Payload String fileBody) {
System.out.println("ffms01:"+fileBody);
}
}
把队列对象放到spring的容器里
@Configuration
public class RabbitConfig {
@Bean
public Queue ffms01(){
return new Queue("ffms01",true);
}
}
rabbitTemplate 是操作rabbitmq的对象
queue01 是被操作的那个队列对象
msg 是要发送的消息内容,方法一般被controller层调用,传入消息
@Service
@RequiredArgsConstructor
public class RabbitmqSender {
private final RabbitTemplate rabbitTemplate;
private final Queue queue01;
public void sendMsg(String msg){
rabbitTemplate.convertAndSend(queue01.getName(),msg);
}
}
@Controller
@RequestMapping("/mq")
public class MQController {
@Resource
private RabbitmqSender sender;
@RequestMapping("/statement")
public void downloadStatement(){
sender.sendMsg("测试下载报表的功能");
}
}
