Apache kafka 卡夫卡连接:停止任务,是否提交偏移量

Apache kafka 卡夫卡连接:停止任务,是否提交偏移量,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我在kafka任务实现中有如下代码。对于关键异常,我希望在任务中调用stop(),并停止任务 我需要知道我是否转到stop()kafka connect是否提交kafka主题分区中的偏移量?i、 e.如果我处理我的异常,记录它,根据异常执行一些活动,并调用stop(),是否因为put()没有异常而提交了主题的偏移量(应用程序主题)?我之所以这样假设,是因为没有从put()成功运行,或者批处理(基于最大轮询记录)的偏移量没有完成,所以重试时,不会丢失任何记录。请让我知道,如果没有承诺补偿,是否有人

我在kafka任务实现中有如下代码。对于关键异常,我希望在任务中调用
stop()
,并停止任务

我需要知道我是否转到
stop()
kafka connect是否提交kafka主题分区中的偏移量?i、 e.如果我处理我的异常,记录它,根据异常执行一些活动,并调用
stop()
,是否因为
put()
没有异常而提交了主题的偏移量(应用程序主题)?我之所以这样假设,是因为没有从
put()
成功运行,或者批处理(基于最大轮询记录)的偏移量没有完成,所以重试时,不会丢失任何记录。请让我知道,如果没有承诺补偿,是否有人可以提供建议

代码:

public class ExampleSinkTask extends SinkTask {
    @Override
    public void start(Map<String, String> map) {
    ....

    }

    @Override
    private void doSomeCriticalOperation()  {
        // call stop if critical operation fails. 

        ...

        // Exception handled, close the task (allow user interference in such cases) 
        stop();
    }

    @Override
    public void put(Collection<SinkRecord> collection)  {
        ..
        doSomeCriticalOperation();
        ..

    }

    @Override
    public void stop() {
        log.info("*** Stopping Kafka task completely ***");
        System.exit(0);
    }
}
公共类ExampleSinkTask扩展了SinkTask{
@凌驾
公共无效开始(映射){
....
}
@凌驾
私有无效doSomeCriticalOperation(){
//如果关键操作失败,则调用stop。
...
//异常已处理,请关闭任务(在这种情况下允许用户干预)
停止();
}
@凌驾
公开作废认沽期权(托收){
..
doSomeCriticalOperation();
..
}
@凌驾
公共停车场(){
log.info(“***完全停止卡夫卡任务***”);
系统出口(0);
}
}

此问题的可能重复之处在于调用
stop()时的偏移量提交。