生產環境有段時間打印了如下錯誤
com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'TEMPORARY.SYSTEM.LOGIN.LOGGING' in vhost '/', class-id=60, method-id=40) at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:209) at com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:338) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:686) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:668) at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:658) at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicPublish(AutorecoveringChannel.java:192)
經過測試,發現出現錯誤的時間點剛好是消費服務關了,消費服務關閉時會刪除exchange。