如何解决我的FlinkKafkaProducer011需要的参数比预期的要少
我在使用FlinkKafkaConnector时遇到困难。
尽管我已经导入了org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011
,但遇到了以下错误。
Too many arguments for constructor FlinkKafkaProducer011
根据this site,参数正确。但是,我的IntelliJ显示了此定义。
public FlinkKafkaProducer011() {
}
有人知道如何解决吗?
更新
这是IDE定义。
public class FlinkKafkaProducer011 {
public FlinkKafkaProducer011() {
}
public static class NextTransactionalIdHint extends org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer.NextTransactionalIdHint {
public NextTransactionalIdHint() {
}
}
public static class TransactionStateSerializer {
public TransactionStateSerializer() {
}
public static final class TransactionStateSerializerSnapshot extends SimpleTypeSerializerSnapshot<KafkaTransactionState> {
public TransactionStateSerializerSnapshot() {
super(org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer.TransactionStateSerializer::new);
}
}
}
public static class ContextStateSerializer {
public ContextStateSerializer() {
}
public static final class ContextStateSerializerSnapshot extends SimpleTypeSerializerSnapshot<KafkaTransactionContext> {
public ContextStateSerializerSnapshot() {
super(org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer.ContextStateSerializer::new);
}
}
}
public static class NextTransactionalIdHintSerializer {
public NextTransactionalIdHintSerializer() {
}
public static final class NextTransactionalIdHintSerializerSnapshot extends SimpleTypeSerializerSnapshot<org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer.NextTransactionalIdHint> {
public NextTransactionalIdHintSerializerSnapshot() {
super(org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer.NextTransactionalIdHintSerializer::new);
}
}
}
}
解决方法
能否请您指定使用的flink-connector-kafka
版本?
据我所知,您使用的org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011
只是flink-connector-kafka_2.11
jar中的一个兼容性类,而使用的正确的生产者是org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer
。
据我了解,javadoc {{3}}与org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011
工件中的flink-connector-kafka-0.11_2.11
生产者有关。
因此,我建议切换到org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer
或将依赖关系更改为flink-connector-kafka-0.11_2.11
jar。