Kafka Connect SourceTask的轮询间隔

时间:2017-04-07 14:47:12

标签: java apache-kafka apache-kafka-connect

我正在使用Kafka-Connect API实现自定义Source Connector,可用于轮询REST-API并将JSON响应接收到Kafka主题中。现在我想知道如何实现SourceTask的轮询间隔,JDBC Connector如何提供。某处我必须将线程设置为睡眠状态,但我必须在哪里执行此操作?

2 个答案:

答案 0 :(得分:3)

我在SourceTask实现中通过添加类型为long的私有字段来解决此用例来存储时间戳。在第一次poll()调用时,该字段尚未初始化,因此将对已配置的REST-API进行轮询。在第一次调用时,提到的long字段用当前时间戳初始化。在以下所有poll()调用中,都会检查上一次调用的时间戳。如果自上一个poll()以来经过的毫秒数小于两个轮询之间的配置间隔,我将线程发送到睡眠状态,因为已经过了配置的毫秒数。

答案 1 :(得分:0)

使用max.poll.interval.ms。

请参阅以下链接:

https://kafka.apache.org/documentation/