1

在名为Kafka Connect JDBC Connector的开源项目中,我试图了解两个类JDBCSourceConnectorJDBCSourceTask的关系。

我可以理解为什么任务对象会建立数据库连接,因为我们可能有 1 个或多个任务作为线程工作,所有线程都并行轮询数据库。我不明白的是,如果我们只想使用一个线程,我们可以使用一个任务来做到这一点,为什么在 Connector 类中有相同的连接逻辑?

这与我有关,因为我正在编写一个修改连接逻辑的分叉版本。我想了解是否应该考虑出于某种我尚未确定的原因维护连接器数据库连接。我已经在修改任务连接逻辑。

做出这个选择是否有设计原因?

4

1 回答 1

4

连接器本身偶尔会轮询数据库以获取与配置中的表的黑/白列表匹配的表列表。如果 DBA 添加了新表,连接器将自动检测到并启动其他任务来复制这些表。

于 2016-08-25T20:47:17.407 回答