当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud Stream嵌入头格式(Kafka)

沈永新
2023-03-14

我正在使用Edgware版本中的Spring Cloud Stream binder发送Kafka消息。我也在使用Spring Sleuth和Zipkin。

Spring使用自定义类EmbeddedHeaderUtils将标头嵌入到Kafka消息中。这会给一些必须处理此自定义解码的消息的非Spring消费者带来问题。

我的问题是:有没有办法为Spring配置消息头的自定义编码器/解码器(例如普通JSON)?或者可能使用Kafka标题?

理想情况下,任何自定义实现都需要与Spring Sleuth和Zipkin配合使用。

我一直在查看最新的Finchley版本,看看是否支持Kafka标头,但不确定。

共有1个答案

濮君植
2023-03-14

嵌入的头是不可插入的,但您可以使用生产者禁用它们。头模式=原始。

使用Ditmars(1.3.x),您可以使用kafka11工件,它支持本机头-您必须覆盖一系列依赖项(kafka客户端、SK、SIK和kafka本身,如果您使用KafkaEmbedded代理进行测试。请参阅Release注释)。

Gitter上有一个关于覆盖版本的讨论。

spring kafka 1.3.x本机使用0.11,但1.3.1及更高版本(当前为1.3.2)也支持1.0.0客户端。

Elmhurst(2.0)-目前处于里程碑阶段-使用SK 2.1.0,其本机使用1.0.0Kafka。

 类似资料:
  • 根据本主题: Kafka Spring Integration:Headers not for Kafka consumer-这不是对Kafka的Headers支持 但文件上说: 我无法使用Spring-Cloud-Stream-Binder-Kafka:1.2.0版本 正在发送日志: 接收日志: 正在发送消息:

  • 我在嵌入式Jetty中部署rest Web服务(Jersey)。 我的服务器: 方法:

  • 问题内容: 我正在尝试通过Web应用程序以及带有嵌入式码头的自包含jar文件引发战争。对于嵌入式码头(jar文件分发),我添加了一个servlet,如下所示: war文件分发使用web.xml文件,该文件在web-app部分包含以下内容: 这可行。但是,我想摆脱两种方法之间的重复。即,当我添加一个新的servlet时,我只想在一个位置进行配置。我可以从嵌入式码头加载和使用web.xml文件吗? 问

  • 或者是我错过了一些文档(Spring,Spring Boot,H2,HSQLDB,Derby,IntelliJ)中的一些核心概念,或者是我已经关注这个问题太久了。 我有一个春靴项目要做。最初尝试使用并初始化一个H2数据库,尝试在IntelliJ中连接到它,只是意识到如果不放弃我的第一个孩子(使用IntelliJ数据库客户端连接到H2数据库),我可能无法轻松地浏览数据库。 所以我搬到了Derbydb

  • 我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?

  • 我正在开发SpringCloudStream的Brooklyn.Release版本。我的用例具有多个接收器的HttpSource。当我将初学者应用程序依赖项添加到应用程序中并使用它时,如下所示: 我的聚合应用程序是 一直得到如下响应: