Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/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 cloud stream将对象发布到Kafka_Spring_Apache Kafka_Stream_Cloud - Fatal编程技术网

尝试使用功能(供应商)模型的Spring cloud stream将对象发布到Kafka

尝试使用功能(供应商)模型的Spring cloud stream将对象发布到Kafka,spring,apache-kafka,stream,cloud,Spring,Apache Kafka,Stream,Cloud,我正在尝试使用带有函数模型的SpringCloudStream将对象发布到Kafka主题。下面是我的需求的代码片段 控制器: 服务类别: @Bean 公共供应商发布(SampleObject obj){ 返回()->{ log.info(“将数据发布到卡夫卡主题{}”,obj); 返回obj; }; } 我的要求是我需要将请求对象从控制器发送到服务,并将该对象发布到Kafka主题 注:我不想去贬低模型。 你可以考虑使用 StreamBridge < /C> > < /P> 参考: 谢谢,这很有

我正在尝试使用带有函数模型的SpringCloudStream将对象发布到Kafka主题。下面是我的需求的代码片段

控制器: 服务类别:
@Bean
公共供应商发布(SampleObject obj){
返回()->{
log.info(“将数据发布到卡夫卡主题{}”,obj);
返回obj;
};
}
我的要求是我需要将请求对象从控制器发送到服务,并将该对象发布到Kafka主题


注:我不想去贬低模型。

你可以考虑使用<代码> StreamBridge < /C> > < /P> 参考:


谢谢,这很有帮助。发布数据部分已完成,是否希望看到从主题中读取数据的最佳方法?
@PostMapping(path = "/publish")
public void publish(@RequestBody SampleObject obj) {
    service.publish(obj);
    log.info("Published Data {} successfully", obj.toString());
}
@Bean
public Supplier<Object> publish(SampleObject obj) {
    return () -> {
        log.info("posting data to kafka topic {}", obj);
        return obj;
    };
}
@SpringBootApplication
@Controller
public class WebSourceApplication {

    public static void main(String[] args) {
        SpringApplication.run(WebSourceApplication.class, "--spring.cloud.stream.source=toStream");
    }

    @Autowired
    private StreamBridge streamBridge;

    @RequestMapping
    @ResponseStatus(HttpStatus.ACCEPTED)
    public void delegateToSupplier(@RequestBody String body) {
        System.out.println("Sending " + body);
        streamBridge.send("toStream-out-0", body);
    }
}