这一篇讲解消费者

文章目录

  • 一、依赖配置
    • 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_消费端相关推荐

  1. (需求实战_01) SpringBoot2.x 整合RabbitMQ_生产端

    文章目录 一.依赖配置引入 1. 引入SpringBoot整合RabbitMQ依赖 2. 生产者配置文件 3. 主配置 二.代码Conding 2.1. 生产者代码 2.2. 实体对象 2.3. 测试 ...

  2. RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)

    说明 本文 SpringBoot 与 RabbitMQ 进行整合的时候,包含了三种消息的确认模式,如果查询详细的确认模式设置,请阅读:RabbitMQ的三种消息确认模式 同时消费端也采取了限流的措施, ...

  3. SpringBoot2.x整合Redis实战 4节课

    1.分布式缓存Redis介绍      简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/download           2.新 ...

  4. SpringBoot2.x 整合websocket 消息推送,单独发送信息,群发信息

    根据公司需求在SpringBoot项目中集成站内信,于是,我做了一个SpringBoot2.x 整合websocket 消息推送,给指定用户发送信息和群发信息即点点对方式和广播方式2种模式. 文章目录 ...

  5. SpringBoot2.x整合Swagger2 实现API文档实时生成

    我们提供Restful接口的时候,API文档是尤为的重要,它承载着对接口的定义,描述等,本文主要介绍了SpringBoot集成Swagger2生成接口文档的方法示例,需要的朋友们下面随着小编来一起学习 ...

  6. SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用

    一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层 ...

  7. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent 一.Redis集群简介 1.RedisCluster概念 Re ...

  8. springboot2.3整合mybatis-plus3.3.2较为详细的教程

    springboot2.3整合mybatis-plus3.3.2较为详细的教程 前言 项目环境 maven依赖如下 项目配置如下 建表语句如下 使用mybatis-plus代码生成插件生成代码 配置分 ...

  9. SpringBoot2.0整合Redis实战

    SpringBoot2.x整合Redis实战 1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/down ...

最新文章

  1. RHCE课程-RH131Linux管理笔记八-安装和管理XEN虚拟机
  2. linux学习第三天 (Linux就该这么学)
  3. 第十二届蓝桥杯省赛第二场C++B组真题 【未完结】
  4. 广东移动节能绿色数据中心掀起“能耗革命”
  5. 【Python】Python的判断、循环和各种表达式(长文系列第②篇)
  6. Tensorflow详解保存模型(进阶版一):如何有选择的保存变量
  7. 本地wamp的Internal Server Error错误解决方法
  8. 海康威视相机SDK开发(1个相机)
  9. java代码读写者问题_一整套Java线上故障排查技巧,爱了!
  10. Spring Boot 知识笔记(集成zookeeper)
  11. 电子沙盘 数字沙盘 开发教程
  12. SI9000详细阻抗设计
  13. 关于hibernate的mappedBy的使用:
  14. 程序员好用的 Markdown 笔记软件
  15. 职高学计算机平面设计要买电脑吗,职高生学好计算机平面设计课之我见
  16. Java技术进阶推荐书单
  17. 锐龙R7 PRO 6850HS怎么样相当于什么水平级别
  18. 12.11 蜜蜂路线
  19. Linux驱动快速入门
  20. Ice.ConnectFailedException

热门文章

  1. 人工智能大咖齐聚北京,创新大讲堂9月盛势来袭
  2. python 单例模式 redis_python 单例模式实现多线程共享连接池
  3. Catalan数应用
  4. 为什么可以通过类名调用静态方法?
  5. 【Boost】Boost使用几条简单笔记
  6. Hue添加RDBMS(关系型数据库)
  7. cache 访问延迟背后的计算机原理
  8. 菜鸟网络宣布推出物流加速上云行动“鲲鹏计划”
  9. RocketMQ消息轨迹-设计篇
  10. 基于深度学习模型WideDeep的推荐