{"record":{"id":"7bb09bd778efdf0b","repo":"alibaba/canal","slug":"stop-connect-error","errorCode":null,"errorMessage":"stop connect error","messagePattern":"stop connect error","errorType":"exception","errorClass":"CanalClientException","httpStatus":null,"severity":"error","filePath":"client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java","lineNumber":93,"sourceCode":"        factory.setHost(nameServer);\n        factory.setAutomaticRecoveryEnabled(true);\n        factory.setNetworkRecoveryInterval(5000);\n        factory.setVirtualHost(vhost);\n        try {\n            connect = factory.newConnection();\n            channel = connect.createChannel();\n        } catch (IOException | TimeoutException e) {\n            throw new CanalClientException(\"Start RabbitMQ producer error\", e);\n        }\n    }\n\n    @Override\n    public void disconnect() throws CanalClientException {\n        if (connect != null) {\n            try {\n                connect.close();\n            } catch (IOException e) {\n                throw new CanalClientException(\"stop connect error\", e);\n            }\n        }\n        if (channel != null) {\n            try {\n                channel.close();\n            } catch (IOException | TimeoutException e) {\n                throw new CanalClientException(\"stop channel error\", e);\n            }\n        }\n    }\n\n    @Override\n    public boolean checkValid() throws CanalClientException {\n        return true; // 永远true\n    }\n\n    /**\n     * RabbitMQ支持拉取 不需要订阅","sourceCodeStart":75,"sourceCodeEnd":111,"githubUrl":"https://github.com/alibaba/canal/blob/87be50e87686a3e8af08c368d0e1ffd1f59eb04a/client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java#L75-L111","documentation":"Error \"stop connect error\" thrown in alibaba/canal.","triggerScenarios":"Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:93 when the library encounters an invalid state.","commonSituations":"Error closing RabbitMQ connection. Log and continue shutdown; never let a close failure mask the original stop path or leak the channel.","solutions":["Check that the RabbitMQ connection is still open before stopping; ignore this error during shutdown if the broker already closed it.","Inspect broker logs for connection drop reasons (heartbeat timeout, forced close)."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"87be50e87686a3e8af08c368d0e1ffd1f59eb04a","analyzedAt":"2026-08-14T04:30:11.918Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}