apache-kafka - Kafka connect :停止任务,是否提交了偏移量
问题描述
我在 kafka connect SinkTask 实现中有如下代码。对于关键异常,我想stop()
在任务中调用并停止任务。
我需要知道我是否转到stop()
kafka connect 提交 kafka 主题分区中的偏移量?即,如果我处理我的异常,记录它,根据异常执行一些活动并调用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);
}
}
解决方案
推荐阅读
- azure - Azure 服务总线使用 CLI 从队列中获取消息?
- amazon-web-services - 如何让 Fn::Join 嵌套在 Fn::If 中?
- c# - 如何使用 selenium c# 从网站上抓取数据表?
- python - 使用 Python 和正则表达式删除数组初始化代码
- sql - 从不同服务器上的表中更新数据
- android - Cordova Android 在运行时以编程方式设置 windowBackground
- c++ - 未安装的包上的 CMake“find_package”命令意外成功
- jquery - 使用 $.load() 时如何等待所有脚本加载?
- c# - 如何使用 JSON 填充 ObservableCollection?
- javascript - 不同的元素正在接收点击,即使 Xpath 是正确且唯一的(量角器)