在名为Kafka Connect JDBC Connector的开源项目中,我试图了解两个类JDBCSourceConnector和JDBCSourceTask的关系。
我可以理解为什么任务对象会建立数据库连接,因为我们可能有 1 个或多个任务作为线程工作,所有线程都并行轮询数据库。我不明白的是,如果我们只想使用一个线程,我们可以使用一个任务来做到这一点,为什么在 Connector 类中有相同的连接逻辑?
这与我有关,因为我正在编写一个修改连接逻辑的分叉版本。我想了解是否应该考虑出于某种我尚未确定的原因维护连接器数据库连接。我已经在修改任务连接逻辑。
做出这个选择是否有设计原因?