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);
    }
}
相关推荐
珠海西格电力3 小时前
零碳园区的能源供给成本主要包括哪些方面?
大数据·分布式·微服务·架构·能源
霑潇雨12 小时前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven
富士康质检员张全蛋13 小时前
Kafka架构 数据发送保障
分布式·架构·kafka
zhojiew14 小时前
使用 Spark Connect 在 Amazon EMR on EC2 上实现远程 Spark开发
大数据·分布式·spark
庞轩px15 小时前
第二篇:RocketMQ事务消息——分布式事务的最终一致性方案
分布式·rocketmq
momom15 小时前
分布式缓存集群高可用架构与一致性哈希优化实践
分布式·后端·架构
heimeiyingwang16 小时前
【架构实战】分布式事务TCC模式:两阶段提交的工程艺术
分布式·架构
GIS数据转换器16 小时前
蓄能电力大数据监管平台
大数据·人工智能·分布式·数据挖掘·数据分析·智慧城市
zhangzeyuaaa16 小时前
Kafka 核心原理超通俗详解|Offset、消费组、分区、持久化一次讲透
分布式·kafka
隔壁阿布都16 小时前
Kafka `acks` 参数取值全解
分布式·kafka