我创建了一个转换器,该转换器可以对ConnectRecord
进行一些转换,以用于Kafka Connect工作者。
Transformer可以正常工作,但是我希望它在发现特定条件(错误)时阻止接收器使用特定主题的消息。
此刻,代码立即引发异常,使工作人员陷入停顿。尽管有效,但这也可能影响其他主题,并且似乎是不得已的方法。
是否可以通过一种好方法停止/暂停使用Kafka Connect Transformation
代码中的主题?
class ApplySchemaTransformation[T <: ConnectRecord[T]]
extends Transformation[T]
with ContentTypeHandler[T] {
override def apply(record: T): T = {
if ([some criteria]) {
[ok code]
} else {
[stop consumer]
}
}
override def config(): ConfigDef = ...
override def close(): Unit = {}
override def configure(configs: java.util.Map[String, _]): Unit = ...
}