我正在使用Spring XD来解决这个问题:
是否有任何解决方法来反序列化我从Kafka主题(0.9版本)收到的消息。
我一直在尝试修改依赖项以保持spring-integration-kafka 1.3.1并使用最新的apache依赖来进行序列化,这样做
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-kafka</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.2.0</version>
<scope>provided</scope>
</dependency>
当我在部署它时运行我的流(假设kafka源代码)我得到了这个:
16:49:43,471 WARN DeploymentsPathChildrenCache-0 utils.VerifiableProperties - 属性key.deserializer无效 16:49:43,472 WARN DeploymentsPathChildrenCache-0 utils.VerifiableProperties - 属性value.deserializer无效
显然:
2017-05-10T16:50:43-0400 1.3.0.RELEASE INFO task-scheduler-8 sink.probando_deserializer - {probando_topic={0=[[B@6fbfdb37]}}
答案 0 :(得分:1)
Spring XD使用旧版本的Spring Integration Kafka(1.x),它只支持0.8.x.x kafka客户端。
Spring Integration Kafka 2.x支持0.9.x.x - &gt; 0.10.2.x;它基于spring-kafka项目。
您需要基于较新的Spring Integration模块创建自定义源。
2.1.0.RELEASE应该与spring-kafka 1.2.x和0.10.2.x客户端一起使用。