debezium - 如何在 debezium 中将 offset.commit.policy 设置为 AlwaysCommitOffsetPolicy?
问题描述
我创建了一个 Debezium Embedded 引擎来捕获 MySQL 更改数据。我想尽快提交补偿。在代码中,创建的配置包括以下内容。
.with("offset.commit.policy",OffsetCommitPolicy.AlwaysCommitOffsetPolicy.class.getName())
运行此返回,java.lang.NoSuchMethodException: io.debezium.embedded.spi.OffsetCommitPolicy$AlwaysCommitOffsetPolicy.<init>(io.debezium.config.Configuration)
但是,当我使用 启动嵌入式引擎时,
.with("offset.commit.policy",OffsetCommitPolicy.PeriodicCommitOffsetPolicy.class.getName())
嵌入式引擎工作正常。
请注意,类OffsetCommitPolicy.PeriodicCommitOffsetPolicy
构造函数包含 config 参数,而OffsetCommitPolicy.AlwaysCommitOffsetPolicy
没有。
public PeriodicCommitOffsetPolicy(Configuration config) {
...
}
如何让 debezium 嵌入式引擎使用它AlwaysCommitOffsetPolicy
?
解决方案
使用1.4.0Final版本测试:
new EmbeddedEngine.BuilderImpl() // create builder
.using(config) // regular config
.using(OffsetCommitPolicy.always()) // explicit commit policy
.notifying(this::handleEvent) // even procesor
.build(); // and finally build!
推荐阅读
- php - 使用库“MacFJA/php-redisearch”在聚合函数中使用“withApplies”时面临问题
- javascript - 如何从数组中获取对象并从中创建一个新数组
- reactjs - 为特定用户跨子域共享本地存储
- java - 在 HomeScreen 上启动透明活动
- php - 在 null sanctun laravel mongodb 上调用成员函数 prepare()
- python - Python 套接字客户端 SSL 连接
- json - dart 中将字符串转换为键值对或 JSON
- php - nginx 剥离 URI 参数
- python - 如何读取“ENV”文件变量并在 Python 中作为单个命令运行
- python - 无法导入 PyAudio C 模块“_portaudio”。(Mac M1),关于找不到符号:_PaMacCore_SetupChannelMap