spring-integration-kafka 1.3.1.RELEASE:使用org.apache.kafka.common.serialization的任何解决方法?

时间:2017-05-10 21:08:38

标签: spring serialization apache-kafka spring-integration spring-xd

我正在使用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]}}

1 个答案:

答案 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客户端一起使用。