zoukankan      html  css  js  c++  java
  • springboot配置rabbitmq

    一.消息生成者

    1.1消息生成者配置

     1.2 消息发送端代码

     1.3 创建交换机,队列,并建立关系

     

     二.消费者

    2.1消费者

     三.限流配置

      3.1配置文件

    #在单个请求中处理的消息个数,他应该大于等于事务数量(unack的最大数量)
    spring.rabbitmq.listener.simple.prefetch=2
    
    #在@RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },concurrency = "${spring.rabbitmq.highdevice.concurrency}")配置的占位符配置
    spring.rabbitmq.highdevice.concurrency=2-5

     3.2消费者配置
    @Component
    public class HighDeviceMessageHandler {
    
    //    @RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },ackMode ="MANUAL",concurrency = "1-10")
        @RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },ackMode ="MANUAL",concurrency = "${spring.rabbitmq.highdevice.concurrency}")
        public void handle(String msgStr, Channel channel,@Headers Map<String,Object> headers) {
            try {
                log.info("休息3秒");
                log.info("handle HighDeviceMessage:{}---",msgStr);
                TimeUnit.SECONDS.sleep(3);
                long deliveryTag = (Long)headers.get(AmqpHeaders.DELIVERY_TAG);
                //手工ack
                channel.basicAck(deliveryTag,true);
            } catch (Exception e) {
                log.error("handle HighDeviceMessage err", e);
            }
        }
    }
    

      


    2020年6月23日16:58:05  -- 更新mq单个消费者参数配置,限流参数配置

     
  • 相关阅读:
    js闭包
    mysql 创建索引
    模拟title实现提示功能
    数组的深拷贝和浅拷贝
    JavaScript总结之DOM基本操作(三)
    JavaScript总结之数组操作(二)
    JavaScript总结之字符串操作(一)
    Visual Studio Code中JavaScript开发环境的配置
    PhpStorm+PhpStudy开发环境的配置
    如何在个人网站上添加logo图标
  • 原文地址:https://www.cnblogs.com/djq-jone/p/13175482.html
Copyright © 2011-2022 走看看