AMQP 通道关闭但消费者并不总是重新启动
AMQP Channel shutdown but Consumer not always restart
我在 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
一般来说,这是因为消费者线程在用户代码的某处"stuck",所以它无法对断开的连接做出反应。
如果您遇到网络问题,可能是在读取或写入套接字时卡住了;确保为任何 I/O 操作设置了超时。
下次发生这种情况时,进行线程转储以查看使用者线程在做什么。
我在 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
一般来说,这是因为消费者线程在用户代码的某处"stuck",所以它无法对断开的连接做出反应。
如果您遇到网络问题,可能是在读取或写入套接字时卡住了;确保为任何 I/O 操作设置了超时。
下次发生这种情况时,进行线程转储以查看使用者线程在做什么。