Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring kafka Spring Kafka流:缺少类型信息_Spring Kafka - Fatal编程技术网

Spring kafka Spring Kafka流:缺少类型信息

Spring kafka Spring Kafka流:缺少类型信息,spring-kafka,Spring Kafka,我用Kafka Streams设置了一个简单的Spring启动应用程序。Spring boot正在使用Kafka的自动配置创建工厂。该消息是没有消息键的Json消息。使用下面的配置会导致headers消息中没有类型信息。有什么意见吗 spring.kafka.streams.properties.default.key.serde=org.apache.kafka.common.serialization.Serdes$StringSerde spring.kafka.streams.prope

我用Kafka Streams设置了一个简单的Spring启动应用程序。Spring boot正在使用Kafka的自动配置创建工厂。该消息是没有消息键的Json消息。使用下面的配置会导致headers消息中没有类型信息。有什么意见吗

spring.kafka.streams.properties.default.key.serde=org.apache.kafka.common.serialization.Serdes$StringSerde
spring.kafka.streams.properties.default.value.serde=org.springframework.kafka.support.serializer.JsonSerde
spring.kafka.consumer.properties.spring.json.key.default.type=java.lang.String
spring.kafka.consumer.properties.spring.json.value.default.type=com.abc.xyz.Person
错误


Streams不使用常规的
消费者属性

是否有一些文档让您相信在使用streams时需要设置该属性?如果是这样,请打开GitHub问题,以便我们可以修复它

它是

当使用流时


您不需要
密钥.default.type
,因为您没有JSON密钥服务器。

谢谢Gary。这就解决了问题。我遵循了第34.3.3节(流支持)和第34.3.4节(卡夫卡财产)中的文件。我想我可能误解了在streams支持部分中提到的属性也适用于streams。当我没有设置属性时,我还会在应用程序日志中看到警告消息。提供了配置“spring.json.value.default.type”,但它不是已知的配置。启动
…consumer…
属性设置a
ConsumerConfig
映射;
…streams…
属性提供了一个
StreamsConfig
映射;如果您觉得需要更多的澄清,我建议您针对GitHub上的boot打开一个问题。是的,这个警告有点奇怪;Kafka允许使用使用者属性配置自定义反序列化程序,但随后会记录发现未知属性的警告。
java.lang.IllegalStateException: No type information in headers and no default type provided
at org.springframework.util.Assert.state(Assert.java:73) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
at org.springframework.kafka.support.serializer.JsonDeserializer.deserialize(JsonDeserializer.java:353) ~[spring-kafka-2.2.4.RELEASE.jar:2.2.4.RELEASE]
at org.apache.kafka.streams.processor.internals.SourceNode.deserializeValue(SourceNode.java:63) ~[kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.RecordDeserializer.deserialize(RecordDeserializer.java:66) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.RecordQueue.addRawRecords(RecordQueue.java:97) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.PartitionGroup.addRawRecords(PartitionGroup.java:117) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.StreamTask.addRecords(StreamTask.java:677) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.StreamThread.addRecordsToTasks(StreamThread.java:943) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:831) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:767) [kafka-streams-2.0.1.jar:?]
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:736) [kafka-streams-2.0.1.jar:?]
spring.kafka.streams.properties.spring.json.value.default.type=com.abc.xyz.Person