我在RabbitMQ Java客户端(我的生产者和消费者相距甚远)中经常出现Channel shutdown: connection error
个问题(在24.133.241:5671
线程下,名称被截断)。大部分时间消费者都会自动重启,因为我启用了心跳(15秒)。但是,有些实例只有Channel shutdown: connection error
但没有Consumer raised exception
而没有Restarting Consumer
(在cTaskExecutor-4
主题下)。
我目前的解决方法是重启我的应用程序。任何人都能对这件事有所了解吗?
2017-03-20 12:42:38.856 ERROR 24245 --- [24.133.241:5671] o.s.a.r.c.CachingConnectionFactory
: Channel shutdown: connection error
2017-03-20 12:42:39.642 WARN 24245 --- [cTaskExecutor-4] o.s.a.r.l.SimpleMessageListenerCont
ainer : Consumer raised exception, processing can restart if the connection factory supports
it
...
2017-03-20 12:42:39.642 INFO 24245 --- [cTaskExecutor-4] o.s.a.r.l.SimpleMessageListenerCont
ainer : Restarting Consumer: tags=[{amq.ctag-4CqrRsUP8plDpLQdNcOjDw=21-05060179}], channel=Ca
ched Rabbit Channel: AMQChannel(amqp://21-05060179@10.24.133.241:5671/,1), conn: Proxy@7ec317
54 Shared Rabbit Connection: SimpleConnection@44bac9ec [delegate=amqp://21-05060179@10.24.133
.241:5671/], acknowledgeMode=NONE local queue size=0
答案 0 :(得分:0)
一般来说,这是由于消费者线程被卡住了#34;在某个用户代码中,所以它无法对断开的连接作出反应。
如果您遇到网络问题,可能是它无法读取或写入套接字;确保为任何I / O操作设置超时。
下次它发生时需要一个线程转储来查看消费者线程正在做什么。