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

Spring Cloud Stream Producer在使用Spring Kafka Consumer时添加了“垃圾”字符

卫阳曜
2023-03-14

我们的微服务使用JDK 8、Spring Cloud Stream API和Spring Boot 1.5.2。用于在Kafka队列上生成消息的释放。对于消费者API,我们使用Spring Kafka 1.1.2。发布,特别是@KafkaListener。消息类型是应用程序json

我们注意到,消费者在“contentType”附近的消息中添加了一些垃圾字符,如下所示:JunkCharsInCustomer

在JDK 8中使用vanilla Apache Kafka客户端API 0.10.2.1时,我们仍然会在收到的消息中看到垃圾字符。

只有当我们使用Cloud StreamSINK时,我们才能在没有任何垃圾字符的情况下检索消息。

这是一个问题,还是我们可能错过了生产商/消费者的某些背景?如需更多详细信息,请告知。

谢谢

共有1个答案

胡景焕
2023-03-14

将生产者headerMode设置为raw

请参见参考留档。

标题模式

当设置为raw时,禁用输出上的标题嵌入。仅对本机不支持消息头且需要嵌入消息头的消息传递中间件有效。在为非Spring云流应用程序生成数据时非常有用。

默认值:embeddedHeaders

 类似资料:
  • 我们的微服务使用JDK8、Spring Cloud Stream API和Spring Boot 1.5.2版本,用于在Kafka队列上生成消息。对于消费者API,我们使用Spring Kafka 1.1.2.release,特别是。消息类型为应用程序json 谢谢

  • 由于ElasticSearch是基于Java语言的应用,所以它必须运行在Java虚拟机上。任何Java程序都被编译成字节码,然后才能运行在JVM上。用最常规的方式思考,可以想象JVM只是执行其它的程序,并且控制程序的行为。但是除非你是在为ElasticSearch开发新的插件(这部分的内容将在第9章 开发ElasticSearch插件中论述),否则这不是你关注的重点。你需要关注的重点是垃圾收集器,

  • 问题内容: 我有一段代码可以在内存中加载很大的图像。所以打电话似乎是合理的事情 在加载图像之前。据我所知,它毫无问题。 昨天,我决定使用一个名为FindBugs的非常有用的软件来扫描您的代码并报告可能导致错误或通常不建议使用的策略的问题。问题是我提到的这段代码得到了报告。描述是这样的: …强迫垃圾收集;除了基准测试代码外,都非常可疑 并继续阐述: 代码显式调用垃圾回收。除了基准测试中的特定用途外,

  • 问题内容: 据我所知,GC仅在JVM需要更多内存时才使用,但我不确定。所以,请有人提出这个问题的答案。 问题答案: 据我了解,Java的垃圾收集算法非常复杂,而且不那么直接。另外,GC可用的算法还不止这些,可以在VM启动时通过传递给JVM的参数进行选择。 这里有一个有关垃圾收集的常见问题解答:http : //www.oracle.com/technetwork/java/faq-140837.h

  • 请考虑以下代码: 现在,即使main方法中的变量超出了作用域,并且在调用时没有被任何其他对象进一步引用,为什么它没有在那里完成呢?

  • 在我的android应用程序中,我正在实现RSA加密解密。 我们有这个适用于ios和android的应用程序。 每当ios用我的公钥加密消息时,都会在base64中发送加密文本,在android端,我会用私钥解密。 问题是,每当我解密数据时,它就会产生被垃圾填充包围的加密消息 如下所示: K������N�t�十、�08���我�二、�z� “test updated pub key”是消息。 我