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

Spring Cloud SteamKafka制作人留言

宗冷勋
2023-03-14

我想建立一个弹簧-云-流-Kafka生产者与弹簧引导。

生产者正在工作,我可以使用来自kafka broker的消息,但这些消息还包含一些头部信息,如下所示:

contentType   "text/plain"originalContentType    "application/json;charset=UTF-8"{"message":"hello"}

我的POJO包含一个字段(字符串消息),所以我希望只有JSON字符串会发送给Kafka。

RestController中的方法test()触发生产者:

@EnableBinding(ProducerChannels.class)
@SpringBootApplication
@RestController
public class KafkaStreamProducerApplication {

private MessageChannel consumer;

public KafkaStreamProducerApplication(ProducerChannels channels) {
    this.consumer = channels.consumer();
}

@PostMapping("/test/{message}")
public void test(@PathVariable String message) {
    Message<MyMessage> msg = MessageBuilder.withPayload(new MyMessage(message)).build();
    this.consumer.send(msg);
}

interface ProducerChannels {

    @Output
    MessageChannel consumer();
}

我的应用程序.属性

spring.cloud.stream.bindings.consumer.destination=consumer
spring.cloud.stream.bindings.consumer.content-type=application/json

如果你能推荐任何关于这个主题的文件或例子,我也将不胜感激。github上的示例通常非常简单,它们使用了大量的自动配置,并且没有任何解释。我使用的例子是RabbitMQ。

共有1个答案

章景同
2023-03-14

如果您想避免嵌入头(这样您就可以在一些非Spring云流应用程序中接收消息),请将生产者的headermode设置为raw

请参阅生成器属性。

头模式

 类似资料:
  • 快速入门四、制作留言本 本章让我们使用sp框架来制作一个简单的留言本程序,在实例中学习程序开发是非常有效的。同时,我们也可以体会一下实际网络项目的开发流程。 新版手册我们打算用另一个教程方式,让大家能更容易体验到web开发的过程。 新的方式主要是将原始的HTML页面提供下载,大家可以先下载全部页面,跟着教程来制作程序。如果期间有不明白的地方,可以下载完整的例子程序作为参考。 下载HTML页面压缩包

  • 本文向大家介绍php制作文本式留言板,包括了php制作文本式留言板的使用技巧和注意事项,需要的朋友参考一下 代码很简单,就不多废话了,直接奉上代码: del.php doAdd.php index.php liuyan.txt show.php menu.php 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 我正在考虑创建一个独立的Kafka生产者,它作为守护进程运行,通过套接字接收消息,并将其可靠地发送给Kafka。 但是,我决不能是第一个想到这个想法的人。这样做的目的是避免使用PHP或Node编写Kafka生成器,而只是通过套接字将消息从这些语言传递到独立的守护进程,这些语言负责传递,而主应用程序则一直在做自己的事情。 此守护进程应负责在发生中断时进行重试传递,并充当服务器上运行的所有程序的传递点

  • 我想让我的Kafka制作人变得富有交易性。我正在发送10条消息。如果发生任何错误,则不应向Kafka发送任何消息,即无或全部。 我使用的是Spring Boot KafkaTemplate。 我正在发送文件中提到的10条信息,如下所示。应发送9条消息,且I消息大小超过1MB,由于 https://docs.spring.io/spring-kafka/reference/html/#using-K

  • 我试图实现这里提到的生产者(https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/demo/com/amazonaws/kinesisvideo/demoapp/putmediademo.java)。 我有一个mkv文件,我想上传在循环中作为制片人在Kinesis

  • 我正在探索反应性Kafka,只是想确认反应性Kafka是否等同于同步制作人。与同步生产者,我们得到消息传递保证与确认字符和生产者序列保持。但是,ASYNC不能保证交付和测序。反应式生产者等同于SYNC还是ASYNC?