首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在debezium中将offset.commit.policy设置为AlwaysCommitOffsetPolicy?

如何在debezium中将offset.commit.policy设置为AlwaysCommitOffsetPolicy?
EN

Stack Overflow用户
提问于 2018-10-10 09:52:01
回答 2查看 596关注 0票数 0

我创建了一个Debezium嵌入式引擎来捕获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构造函数包含配置参数,而OffsetCommitPolicy.AlwaysCommitOffsetPolicy不包含。

public PeriodicCommitOffsetPolicy(Configuration config) { ... }

如何使debezium嵌入式引擎使用其AlwaysCommitOffsetPolicy

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-11 04:18:34

谢谢你的报告。这部分是bug (如果您能登录我们的Jira,我们将非常感激)。您可以通过调用像`io.debezium.embedded.EmbeddedEngine.create().with(OffsetCommitPolicy.always())‘这样的专用方法嵌入式引擎生成器来解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2021-02-02 04:54:38

用1.4.0Final版本进行测试

代码语言:javascript
复制
new EmbeddedEngine.BuilderImpl() // create builder
        .using(config) // regular config
        .using(OffsetCommitPolicy.always()) // explicit commit policy
        .notifying(this::handleEvent) // even procesor
        .build(); // and finally build!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52737401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档