SpringBoot2.x 整合RabbitMQ_消费端
这一篇讲解消费者
文章目录
- 一、依赖配置
- 1. 引入依赖
- 2. 配置文件
- 3. 主配置
- 二、代码Conding
- 2.1. 消费者代码
一、依赖配置
1. 引入依赖
<!--springboot整合RabbitMQ依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
2. 配置文件
spring.rabbitmq.addresses=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin
spring.rabbitmq.virtual-host=/admin
spring.rabbitmq.connection-timeout=15000#手动签收
spring.rabbitmq.listener.simple.acknowledge-mode=manual
spring.rabbitmq.listener.simple.concurrency=5
spring.rabbitmq.listener.simple.max-concurrency=10spring.rabbitmq.listener.order.queue.name=queue-2
spring.rabbitmq.listener.order.queue.durable=true
spring.rabbitmq.listener.order.exchange.name=exchange-2
spring.rabbitmq.listener.order.exchange.durable=true
spring.rabbitmq.listener.order.exchange.type=topic
spring.rabbitmq.listener.order.exchange.ignoreDeclarationExceptions=true
spring.rabbitmq.listener.order.key=springboot.*
3. 主配置
package com.gblfy.springboot.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan({"com.gblfy.springboot.*"})
public class MainConfig {}
二、代码Conding
2.1. 消费者代码
package com.gblfy.springboot.consumer;import com.gblfy.springboot.entity.Order;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.Message;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;import java.util.Map;@Component
public class RabbitReceiver {@RabbitListener(bindings = @QueueBinding(value = @Queue(value = "queue-1",durable = "true"),exchange = @Exchange(value = "exchange-1",durable = "true",type = "topic",ignoreDeclarationExceptions = "true"),key = "springboot.*"))@RabbitHandlerpublic void onMessage(Message message, Channel channel) throws Exception {System.err.println("--------------------------------------");System.err.println("消费端Payload: " + message.getPayload());Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);//手工ACKchannel.basicAck(deliveryTag, false);}/*** 接收Order对象监听处理器** @param order* @param channel* @param headers* @throws Exception*/@RabbitListener(bindings = @QueueBinding(value = @Queue(value = "${spring.rabbitmq.listener.order.queue.name}",durable = "${spring.rabbitmq.listener.order.queue.durable}"),exchange = @Exchange(value = "${spring.rabbitmq.listener.order.exchange.name}",durable = "${spring.rabbitmq.listener.order.exchange.durable}",type = "${spring.rabbitmq.listener.order.exchange.type}",ignoreDeclarationExceptions = "${spring.rabbitmq.listener.order.exchange.ignoreDeclarationExceptions}"),key = "${spring.rabbitmq.listener.order.key}"))@RabbitHandlerpublic void onOrderMessage(@Payload Order order,Channel channel,@Headers Map<String, Object> headers) throws Exception {System.err.println("--------------------------------------");System.err.println("消费端order: " + order.getId());Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);//手工ACKchannel.basicAck(deliveryTag, false);}
}
SpringBoot2.x 整合RabbitMQ_消费端相关推荐
- (需求实战_01) SpringBoot2.x 整合RabbitMQ_生产端
文章目录 一.依赖配置引入 1. 引入SpringBoot整合RabbitMQ依赖 2. 生产者配置文件 3. 主配置 二.代码Conding 2.1. 生产者代码 2.2. 实体对象 2.3. 测试 ...
- RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
说明 本文 SpringBoot 与 RabbitMQ 进行整合的时候,包含了三种消息的确认模式,如果查询详细的确认模式设置,请阅读:RabbitMQ的三种消息确认模式 同时消费端也采取了限流的措施, ...
- SpringBoot2.x整合Redis实战 4节课
1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/download 2.新 ...
- SpringBoot2.x 整合websocket 消息推送,单独发送信息,群发信息
根据公司需求在SpringBoot项目中集成站内信,于是,我做了一个SpringBoot2.x 整合websocket 消息推送,给指定用户发送信息和群发信息即点点对方式和广播方式2种模式. 文章目录 ...
- SpringBoot2.x整合Swagger2 实现API文档实时生成
我们提供Restful接口的时候,API文档是尤为的重要,它承载着对接口的定义,描述等,本文主要介绍了SpringBoot集成Swagger2生成接口文档的方法示例,需要的朋友们下面随着小编来一起学习 ...
- SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用
一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层 ...
- SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent 一.Redis集群简介 1.RedisCluster概念 Re ...
- springboot2.3整合mybatis-plus3.3.2较为详细的教程
springboot2.3整合mybatis-plus3.3.2较为详细的教程 前言 项目环境 maven依赖如下 项目配置如下 建表语句如下 使用mybatis-plus代码生成插件生成代码 配置分 ...
- SpringBoot2.0整合Redis实战
SpringBoot2.x整合Redis实战 1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/down ...
最新文章
- RHCE课程-RH131Linux管理笔记八-安装和管理XEN虚拟机
- linux学习第三天 (Linux就该这么学)
- 第十二届蓝桥杯省赛第二场C++B组真题 【未完结】
- 广东移动节能绿色数据中心掀起“能耗革命”
- 【Python】Python的判断、循环和各种表达式(长文系列第②篇)
- Tensorflow详解保存模型(进阶版一):如何有选择的保存变量
- 本地wamp的Internal Server Error错误解决方法
- 海康威视相机SDK开发(1个相机)
- java代码读写者问题_一整套Java线上故障排查技巧,爱了!
- Spring Boot 知识笔记(集成zookeeper)
- 电子沙盘 数字沙盘 开发教程
- SI9000详细阻抗设计
- 关于hibernate的mappedBy的使用:
- 程序员好用的 Markdown 笔记软件
- 职高学计算机平面设计要买电脑吗,职高生学好计算机平面设计课之我见
- Java技术进阶推荐书单
- 锐龙R7 PRO 6850HS怎么样相当于什么水平级别
- 12.11 蜜蜂路线
- Linux驱动快速入门
- Ice.ConnectFailedException