java - springboot:实现mysql cdc
问题描述
我正在尝试使用 spring-boot 捕获我的 MySQL 本地数据库上的任何更改,但是当我运行我的项目时,我得到了Unable to instantiate connector class io.debezium.connector.mysql.mysqlconnector
有没有人有任何提示可以帮助我?
这是我的配置代码:
@Bean
public io.debezium.config.Configuration studentConnector() {
return io.debezium.config.Configuration.create()
.with("connector.class", "io.debezium.connector.mysql.mysqlconnector")
.with("offset.storage", "org.apache.kafka.connect.storage.FileOffsetBackingStore")
.with("offset.storage.file.filename", "/cdc/offset.dat")
.with("offset.flush.interval.ms", 60000)
.with("name", "student-postgres-connector")
.with("database.server.name", studentDBHost+"-"+studentDBName)
.with("database.hostname", studentDBHost)
.with("database.port", studentDBPort)
.with("database.user", studentDBUserName)
.with("database.password", studentDBPassword)
.with("database.dbname", studentDBName)
.with("table.whitelist", STUDENT_TABLE_NAME)
.build();
}
这是我的应用程序日志错误
java.lang.ClassNotFoundException: io.debezium.connector.mysql.mysqlconnector
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_181]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_181]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_181]
at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:666) ~[debezium-embedded-1.3.1.Final.jar:1.3.1.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]
解决方案
由于要使用MySqlConnector
,因此需要将 docker 映像从debezium/postgres
(不包含 debezium mysql 连接器)更改为debezium/connect
.
推荐阅读
- php - 为什么我的 Laravel 项目有 2 个不同 ID 的不同 Cart 对象?
- firebase - 使用 SDK 或 REST API 使用 Firebase 后端颤振?
- c - 没有输入时如何在scanf()中检测?
- jung - JUNG:删除边缘会导致从 BasicEdgeRenderer.paintEdge() 引发 NullPointerException
- html - Flutter For Web Application 启动 TypeError 异常
- android - android studio VCS 本地历史太短
- c++ - 如何将模板类型限制为不包括该基类的子类的基类?
- bash - 在后台运行的进程的 PIPESTATUS 是否可跟踪?
- python - connect_to_splunk() 正好需要 2 个参数(1 个给定)
- javascript - 未找到 Firestore 集合