{"record":{"id":"bc0ba01c6bc7b4f7","repo":"alibaba/canal","slug":"start-rabbitmq-producer-error","errorCode":null,"errorMessage":"Start RabbitMQ producer error","messagePattern":"Start RabbitMQ producer error","errorType":"exception","errorClass":"CanalClientException","httpStatus":null,"severity":"error","filePath":"client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java","lineNumber":83,"sourceCode":"    }\n\n    public void connect() throws CanalClientException {\n        ConnectionFactory factory = new ConnectionFactory();\n        if (accessKey.length() > 0 && secretKey.length() > 0) {\n            factory.setCredentialsProvider(new AliyunCredentialsProvider(accessKey, secretKey, resourceOwnerId));\n        } else {\n            factory.setUsername(username);\n            factory.setPassword(password);\n        }\n        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            }","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/alibaba/canal/blob/87be50e87686a3e8af08c368d0e1ffd1f59eb04a/client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java#L65-L101","documentation":"Error \"Start RabbitMQ producer error\" thrown in alibaba/canal.","triggerScenarios":"Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:83 when the library encounters an invalid state.","commonSituations":"RabbitMQ consumer start failure. Verify host, vhost, credentials, and queue declaration before retry; wrap startup so a partial connection is always closed.","solutions":["Check RabbitMQ host, port, virtualHost, username and password in the connector configuration.","Verify network connectivity to the RabbitMQ broker and that the exchange/queue exist with correct permissions.","Inspect the nested AMQP exception for the concrete cause (auth failure, connection refused, channel error)."],"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"}