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);
    }
}
相关推荐
acrel74 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式·光伏并网
程序 代码狂人4 小时前
金融数仓体系与核心业务知识详解
大数据·分布式·spark
java_nnnn6 小时前
Redis 初识:从单体架构到分布式架构的演进
redis·分布式·架构
Sayai7 小时前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
敲上瘾7 小时前
分布式系统——Redis哨兵:自动故障转移与选举原理
linux·数据库·redis·分布式·缓存·微服务
微三云 - 廖会灵 (私域系统开发)1 天前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
她说可以呀1 天前
Docker 镜像的两种创建方式
java·分布式·docker
杭州领祺科技1 天前
分布式光伏『四可』接入改造:绿电直连场景下的二次系统通信与安全架构(27 号令 4 区落位 + 7 产品边界)
分布式·安全·安全架构·光伏·电力·绿电直连·二次系统
SparklingTheo1 天前
【Zookeeper】源码阅读
分布式·zookeeper·云原生