将对象从 sinkconnector 传递到 kafka connect 中的 sinktask

pass an object from sinkconnector to sinktask in kafka connect

我正在尝试将一个对象从我的 sinkconnector 传递到我的 sinktask。我在文档中找不到任何内容。他们用来共享某些东西的唯一方法是在 connector.taskConfigs 和 task.start 中,但那只是针对 Map,我需要从另一个 class 传递一个对象。

有没有人有任何想法或知道如何做到这一点?

谢谢!!

Kafka Connect 目前没有通用的方法将对象从任何 Connector 实现传递到它的 Task 实现。这实际上是设计使然,因为任务可能在与实例化连接器的位置不同的 worker 中实例化。从 Connector 实例传递到 Task 对象的唯一信息是通过任务配置。

如果您只愿意 运行 Kafka Connect 独立进程中的连接器或 在分布式工作集群中 只有一个工作人员,那么您可以使用静态对象,因为 ConnectorTask 实现将始终在同一进程中实例化(假设它们来自同一插件)。但是,这显然很脆弱,不适用于通用连接器。