Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对RabbitMQ关闭信号异常进行故障诊断?_Java_Rabbitmq_Spring Rabbit - Fatal编程技术网

Java 如何对RabbitMQ关闭信号异常进行故障诊断?

Java 如何对RabbitMQ关闭信号异常进行故障诊断?,java,rabbitmq,spring-rabbit,Java,Rabbitmq,Spring Rabbit,我正在维护一个启动RabbitMQ队列的项目上运行一系列测试。据我所知,我没有以任何方式与RabbitMQ队列交互。但是,我会定期收到一个ShutdownSignalException,它似乎会影响我的测试。下面是com.rabbitmq.client.impl.AMQConnection#startShutdown方法中断点的图像: 我如何找出我的代码中触发此异常的部分?另外,我怎样才能确信我的代码没有使用这个队列?RabbitMQ代码中是否有任何特殊部分可以设置断点 我正在使用Spring

我正在维护一个启动RabbitMQ队列的项目上运行一系列测试。据我所知,我没有以任何方式与RabbitMQ队列交互。但是,我会定期收到一个
ShutdownSignalException
,它似乎会影响我的测试。下面是
com.rabbitmq.client.impl.AMQConnection#startShutdown
方法中断点的图像:

我如何找出我的代码中触发此异常的部分?另外,我怎样才能确信我的代码没有使用这个队列?RabbitMQ代码中是否有任何特殊部分可以设置断点

我正在使用SpringRabbitMQ版本1.3.5.RELEASE来配置我的队列。我对RabbitMQ了解不多,所以请告诉我是否还有其他信息需要提供。

“连接重置”通常表示套接字因某种原因关闭

第一步是查看代理上的rabbitmq日志

由于rabbitmq的异步性质,根本原因在调用线程上可能不明显,但通常,
ShutdownSignalEcxception
的reason属性将描述该问题

编辑

但是,在这种情况下,没有任何原因,因为这只是在运行中检测到的套接字重置

        } catch (Throwable ex) {
            _exceptionHandler.handleUnexpectedConnectionDriverException(AMQConnection.this,
                                                                        ex);
            shutdown(null, false, ex, true);

因此,您需要进一步挖掘,以找到重新设置连接的原因;查看代理的日志,看看是否有任何线索。

但在这种情况下,如果单击图像,可以看到字段为空。是什么原因造成的?对不起;错过了-我在回答中添加了更多的评论。