RabbitMQ实战指南,线程池报错,消息未消费完全,从多线程中理解问题原因clean channel shutdown; protocol method: channel.close

在阅读RabbitMQ实战指南时遇到线程池报错,表现为clean channel shutdown,导致消息未被完全消费。通过延长消费者线程的睡眠时间如10秒,可以避免因通道关闭过早而引发的问题。此问题源于主线程关闭资源时,子线程尚未完成消息消费。通过添加debug调试,观察到子线程在休眠期间仍有未处理完的消息,从而揭示了解决方案。
摘要由CSDN通过智能技术生成

RabbitMQ实战指南,线程池报错,消息未消费完全

详细出错信息

**com.rabbitmq.client.ShutdownSignalException: clean channel shutdown; protocol method: #method<channel.close>(reply-code=200, reply-text=Closed due to exception from Consumer (amq.ctag-SIvdR7UthqyEgn0us8H_XA) method handleDelivery for channel AMQChannel(amqp://), class-id=0, method-id=0)
**

15:08:28.363 [pool-1-thread-3] ERROR com.rabbitmq.client.impl.ForgivingExceptionHandler - Consumer com.zzf.rabbitmq.amqpclient.RabbitConsumer$1@53639c56 (amq.ctag-SIvdR7UthqyEgn0us8H_XA) method handleDelivery for channel AMQChannel(xxx) threw an exception for channel AMQChannel(xxxx)
com.rabbitmq.client.AlreadyClosedException: channel is already closed due to clean channel shutdown; protocol method: #method<channel.close>(reply-code=200, reply-text=OK, class-id=0, method-id=0)
	at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:258)
	at com.rabbitmq.client.im
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胖丨学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值