Spring-Kafka 1.3.9与Kafka客户端0.10.2.2不兼容

时间:2019-06-21 18:05:50

标签: spring-kafka

我在使用Kafka客户端0.10.2.2运行Spring-Kafka版本1.3.9时遇到问题

https://spring.io/projects/spring-kafka说:“建议所有具有代理> = 0.10.xx的用户(以及所有spring boot 1.5.x用户)使用spring-kafka版本1.3.x或更高版本” pom.xml的Spring-Kafka版本1.3.9,并将Kafka客户端从0.11.xx覆盖到0.10.2.2

运行实例时出现此错误:

  

原因:java.lang.NoClassDefFoundError:   org / apache / kafka / common / header / Headers       在org.springframework.kafka.core.KafkaTemplate。(KafkaTemplate.java:74)   〜[spring-kafka-1.3.9.RELEASE.jar:?]

0.11.x.x包含程序包头。但是,版本0.10.2.2则没有。 版本0.10.x.x的代理与spring-kafka版本1.3.9不兼容。这与spring-kafka网站所说的相反。请纠正我,如果我错了。

我的问题是使用0.11.xx版本而不是0.10.x.x对吗?我看不到两个版本之间的发行说明。顺便说一句,我的Kafka实例运行在0.10.x.x版本上。谢谢

1 个答案:

答案 0 :(得分:0)

请不要在多个地方问同样的问题;这是浪费我们(和您的)时间。

正如我在GitHub问题中所说的...

您不应降级kafka-clients。 0.11客户端可以与0.10.x.x代理进行通信。

请参见the Confluent compatibility matrix

我认为项目页面上的表格非常清楚;它指出spring-kafka 1.3.x与0.11.x.x和1.0.x.x客户端兼容。

有关客户端/经纪人兼容性的完整讨论,请参见Kafka Compatibility Matrix

让我知道我们是否可以使其更清楚。

请注意,尽管0.11客户端可以与0.10代理一起使用,但显然您不能使用0.11代理功能(例如标头)。

0.10.x.x很旧。当前版本是2.2.1(并且2.3.0即将发布)。这些年来,已经有了很多改进。