📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / MQ / 配置

解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题

2021-06-22 11:34 · 约 507 字 · 浏览 2,918 次配置

解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题

使用RabbitTemplate操纵RabbitMQ,每个RabbitTemplate等于一个connection,每个connection最多支持2048个channel,当hannel达到2048时,会报错org.springframework.amqp.AmqpResourceNotAvailableException: The channelMax limit is reached. Try later。

解决这个问题,有两个思路:
- 一是限制发送的消息数量,也就是控制channel的数量;
- 二是增加connection,也就是RabbitTemplate;

我使用的是第二种,增加RabbitTemplate,发送时,产生一个随机数,命中一个RabbitTemplate执行发送任务,这样每个connection的channel数,不会太高,大致在450-500个。并且限制发送的数量和频率,发送一定数量的消息后,休眠一段时间。

← 返回《MQ》目录书架 →