我试图写一个条件,在实现Kafka-Camel路由之前,我检查是否有目的地主题可用。如果缺少主题,则路由不会发生。
我这样做的原因是,当没有主题并且路由被调用时,NetworkClient通过发出如下警告来创建主题。
2012-06-15 14:36:38 WARN [or.ap.ka.cl.](kafka-producer-network-thread | Producer -8) [Producer clientId= Producer -8]获取关联id为3的元数据时出错:{my-topic=LEADER_NOT_AVAILABLE}
我想避免自动创建主题。如果没有主题,我想跳过路由。
我不确定您是否可以,因为Camel更多地用于系统集成,而不是直接与一个系统通信。
同样,Kafka Connect本身需要一个工作的Kafka集群,并且假设目标主题已经可用,但是最新版本的Kafka(截至2.6)确实提供了自动创建源连接器主题的选项。您可以将topic.creation.enable=false
设置为禁用此功能,但随后您将看到大量错误显示UNKNOWN_TOPIC_OR_PARTITION
。要忽略这些,您可以尝试设置errors.tolerance
,但这样您可能会忽略其他异常