简体   繁体   English

springboot:实现 mysql cdc

[英]springboot: implement mysql cdc

i'm trying to catch any changes on my MySQL local database with spring-boot but when i run my project i get Unable to instantiate connector class io.debezium.connector.mysql.mysqlconnector i'm trying to catch any changes on my MySQL local database with spring-boot but when i run my project i get Unable to instantiate connector class io.debezium.connector.mysql.mysqlconnector

Does anyone have any tip to help me?有没有人有任何提示可以帮助我?

this my configuration code:这是我的配置代码:

 @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();
}

this is my application log error这是我的应用程序日志错误

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]

Since you want to use MySqlConnector , you need to change docker image from debezium/postgres (that doesn't contain debezium mysql connector) to debezium/connect .由于您想使用MySqlConnector ,您需要将debezium/postgres中的 docker 图像(不包含 debezium mysql 连接器)更改为debezium/connect

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM