我正在构建一个 Spring Cloud Stream Kafka 处理器应用程序,该应用程序将使用带有字符串键的原始数据,有时还会使用来自 Kafka 主题的空负载。我想为另一个主题生成一个字符串键和空有效负载(在 Kafka 中称为墓碑)。为了在消息上使用原始标头,我需要输出 a byte[]
,但如果我编码KafkaNull.INSTANCE
为 a byte[]
,它将逐字输出对象哈希码的字符串。
如果我尝试发送除 a 以外的任何内容byte[]
,则无法使用原始标头。
这样做的正确方法是什么?即使有效负载为空,标头也会在哪里?我设置producer.headerMode=embeddedHeaders
了部署,这似乎没有什么区别,仍然有哈希码作为有效负载。