0

Ich verwende Spring XD, um mit diesem Problem zu spielen:spring-integration-kafka 1.3.1.RELEASE: Gibt es einen Workaround, um org.apache.kafka.common.serialization zu verwenden?

Gibt es eine Problemumgehung, um Nachrichten, die ich von einem Kafka-Thema (0.9-Version) empfange, zu deserialisieren.

Ich habe die Abhängigkeiten zu ändern versucht, so etwas wie diese

 <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> 

zu halten federintegrations kafka 1.3.1 und mit neuesten Apache Abhängigkeiten für die Serialisierung zu tun Wenn ich meinen Strom laufen (asuming eine kafka Quelle | log), wenn es eingesetzt wird, ich diese bekommen:

16: 49: 43.171 WARN DeploymentsPathChildrenCache-0 utils.VerifiableProperties - Objekt key.deserializer nicht gültig ist 16: 49: 43.172 WARN DeploymentsPathChildre nCache-0 utils.VerifiableProperties - Objekt value.deserializer ist nicht gültig

Und natürlich:

2017-05-10T16:50:43-0400 1.3.0.RELEASE INFO task-scheduler-8 sink.probando_deserializer - {probando_topic={0=[[[email protected]]}} 

Antwort

1

Der Frühling XD verwendet eine alte Version von Spring Integration Kafka (1.x), die nur unterstützt den 0.8.xx kafka Client.

Federintegration Kafka 2.x unterstützt 0.9.x.x -> 0.10.2.x; Es basiert auf dem Frühling-Kafka-Projekt.

Sie müssten eine benutzerdefinierte Quelle basierend auf dem neueren Spring Integration-Modul erstellen.

Die 2.1.0.RELEASE sollte mit spring-kafka 1.2.x und dem 0.10.2.x-Client arbeiten.

Verwandte Themen