Java WebFlux和Reactor 3.4.0-弃用的FluxProcessors-如何使用接收器订阅?

Java WebFlux和Reactor 3.4.0-弃用的FluxProcessors-如何使用接收器订阅?,java,spring-webflux,spring-websocket,Java,Spring Webflux,Spring Websocket,在Reactor 3.4.0中,不同的FluxProcessor(如“DirectProcessor”)越来越不受欢迎。我使用这种处理器作为订阅者,参见下面的示例 现在我想知道如何迁移代码以使用推荐的Sinks.many()方法?有什么想法吗 旧代码: DirectProcessor<String> output = DirectProcessor.create(); output.subscribe(msg -> System.out.println(msg)); WebS

在Reactor 3.4.0中,不同的FluxProcessor(如“DirectProcessor”)越来越不受欢迎。我使用这种处理器作为订阅者,参见下面的示例

现在我想知道如何迁移代码以使用推荐的
Sinks.many()
方法?有什么想法吗

旧代码:

DirectProcessor<String> output = DirectProcessor.create();
output.subscribe(msg -> System.out.println(msg));

WebSocketClient client = new ReactorNettyWebSocketClient();
client.execute(uri, session -> 
    // send message
    session.send(Mono.just(session.textMessage(command)))
        .thenMany(session.receive()
        .map(message -> message.getPayloadAsText())
        .subscribeWith(output))
    .then()).block();

提前感谢您的建议。

如果有人仍在搜索此内容,请在以下答案中更新:
Many<String> sink = Sinks.many().multicast().directBestEffort();        
Flux<String> flux = sink.asFlux();
flux.subscribe(msg -> System.out.println(msg));

WebSocketClient client = new ReactorNettyWebSocketClient();
client.execute(uri, session -> 
    // send message
    session.send(Mono.just(session.textMessage(command)))
        .thenMany(session.receive()
        .map(message -> message.getPayloadAsText())
        .subscribe ...   // <-- how to do this with a Sink ??
    .then()).block();