我在尝试使用 Camel Debezium SQL 服务器连接器时遇到问题。我正在尝试使用camel Debezium SQL Server 连接器捕获SQL Server 数据库表中的数据更改,并将它们接收到消息代理。我知道 JDBC SQL 服务器连接可以选择将加密设置为 false 以防止出现此问题。但我在 Camel Debezium SQL 服务器连接器中找不到类似的方法。
要使用 Camel Debezium SQL 服务器连接器,我遵循了此文档:
https://camel.apache.org/components/3.18.x/debezium-sqlserver-component.html#_samples
当我运行该应用程序时,它显示以下错误:
错误 io.debezium.embedded.EmbeddedEngine - 尝试运行连接器类“io.debezium.connector.sqlserver.SqlServerConnector”时出错
原因:com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接。错误:“PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”。
我的POM如下:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-parent</artifactId>
<version>3.18.1-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-main</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-debezium-sqlserver</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>11.2.0.jre11</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-kafka</artifactId>
</dependency> …Run Code Online (Sandbox Code Playgroud)