RabbitMQ:The channelMax limit is reached. Try later.

  • rabbitmq 默认 最大链接默认是2047访问量过大会导致数据丢失

  • 复制 docker 容器中的 /etc/rabbitmq/rabbitmq.conf 配置
    在这里插入图片描述

 >  docker cp  容器id:容器内的文件路径 宿主机路径
 >  docker cp  96f7f14e99ab:/etc/rabbitmq /etc/rabbitmq
  • cd 进入到 宿主机 /etc/rabbitmq修改rabbitmq.conf
    • 在配置文件中加入 channel_max = 6114
  • 删除容器
> docker rm 容器id
  • 挂载文件
> -v 语法:宿主机文件路径:容器文件路径
>  docker run -d --name rabbitmq -v /home/dockerdata/rabbitmq/rabbitmq/:/etc/rabbitmq/  -p 15672:15672 -p 5672:5672 f65f7c36d41b
  • 配置Bean
    @Bean
    public CachingConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host, port);
        //修改rabbitmq.conf  channel_max>0 否則此配置不會生效
        connectionFactory.getRabbitConnectionFactory().setRequestedChannelMax(6144);
        connectionFactory.setUsername(username);
        connectionFactory.setPassword(password);
        connectionFactory.setVirtualHost("/");
        return connectionFactory;
    }
  • 应用连接到mq你会发现Channels limit 变成了你设置的了
    在这里插入图片描述
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐