RabbitMQ

一、docker安装mq

复制代码
docker run \
 -e RABBITMQ_DEFAULT_USER=islunatic\
 -e RABBITMQ_DEFAULT_PASS=islunatic \
 -v mq-plugins:/plugins \
 --name mq \
 --hostname mq \
 -p 15672:15672 \
 -p 5672:5672 \
 --network fitzone-net\
 -d \
 rabbitmq

进入服务器 打开15672和5672端口 如果无法访问 运行以下代码

复制代码
#进入容器
docker exec -it myrabbitmq bash
#安装插件
rabbitmq-plugins enable rabbitmq_management

二、项目配置mq

复制代码
spring:
  rabbitmq:
    host: islunatic.icu # 你的虚拟机IP
    port: 5672 # 端口
    virtual-host: / # 虚拟主机
    username: islunatic # 用户名
    password: islunatic # 密码

三、使用mq

1、首先在启动类上开启任务调度

2、生产者

java 复制代码
//注入rabbitmq
@Autowired
private RabbitTemplate rabbitTemplate;

//发送消息
rabbitTemplate.convertAndSend("amq.topic","pay.success",orders.getNumber);

3、消费者

java 复制代码
@Component
@RequiredArgsConstructor
public class PayListener {
    private final OrdersService ordersService;

    @RabbitListener(bindings = @QueueBinding(
            value = @Queue(name = "order.pay.queue", durable = "true"),
            exchange = @Exchange(name = "amq.topic", type = ExchangeTypes.TOPIC),
            key = "pay.success"
    ))
        public void listenPaySuccess(Long orderId){
        ordersService.markOrderPaySuccess(orderId);
    }
}
相关推荐
程序员黎剑1 小时前
RabbitMQ-消息可靠性-publisher-confirm持久化与手动ack
分布式·rabbitmq·ruby
吃饱了得干活2 小时前
一个订单的奇幻漂流:RabbitMQ 五大难题实战
spring boot·后端·rabbitmq
比奥利奥还傲.6 小时前
哪吒监控面板实战:部署 Dashboard、接入 Agent、钉钉告警,再配置固定公网访问
网络·人工智能·分布式·1024程序员节
拼图20915 小时前
Git常用语法
分布式·git·学习
雨会停rain1 天前
rabbitmq 创建独立管理员账号,禁用默认 admin
rabbitmq
xbgRS1 天前
RabbitMQ高级特性
rabbitmq
盟道科技1 天前
小程序订阅消息大规模投递实践:频控令牌池、Redis限流与失败补偿设计
分布式·算法·小程序
卷毛的技术笔记1 天前
RocketMQ事务消息:我把分布式事务这层窗户纸捅破了
java·分布式·后端·java-rocketmq
吃饱了得干活2 天前
RabbitMQ 原理解析(下):存储、集群与可靠投递
后端·rabbitmq
懂软件的胡子个哥2 天前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信