【问题标题】:Stream output of one flux to another一个通量的流输出到另一个通量
【发布时间】:2020-07-05 01:51:16
【问题描述】:

我正在从 messageHandler(kafka) 获取数据并通过 servicehandler 处理它以给我一些结果

serviceHandler.process(message).getMessage().toString()

现在我需要输出这个结果流,这样每当一条新记录通过消息处理程序时,它就会得到处理并将输出推送到前端(角度)

@Autowired
MessageHandler messageHandler;
@Autowired
ServiceHandler serviceHandler;

public void runHandler() {
    Flux<Message> messages = messageHandler.flux();             
    messages.subscribeOn(Schedulers.parallel()) 
    .doOnNext(message -> serviceHandler.process(message).getMessage().toString())
    .subscribe();
}
public Flux pushresult(){ ???? }

有人知道我需要的方法吗?

【问题讨论】:

    标签: reactive-programming spring-webflux reactive-kafka


    【解决方案1】:

    看看 .map() 和 .flatMap()。在你的情况下,它看起来像 map() 但如果你调用的下一个服务也返回你想要的 Mono/Flux .flatMap() 或者你最终会得到类似的东西:

    Flux<Flux<String>>
    

    而不是

    Flux<String>
    

    .doOnNext 用于记录日志等副作用。

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2021-03-06
      • 2016-02-27
      • 2023-04-11
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多