使用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个。并且限制发送的数量和频率,发送一定数量的消息后,休眠一段时间。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2021-10-13
  • 2021-12-28
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
  • 2021-04-03
  • 2021-05-18
  • 2022-12-23
  • 2021-04-10
相关资源
相似解决方案