如何让 spring web flux 等到服务器满足指定条件然后 return 响应

how to make spring web flux wait until specified condition met in server and then return the response

我是 Spring Web-Flux 的初学者。我想要一个响应式服务,例如名为 isConfirmed 的服务,并且该服务必须等到我的服务器的另一个服务被调用,例如名为 confirm 的服务。这两个服务都位于我的服务器中,第一个反应式服务必须等到第二个服务(确认)被调用,然后 return 确认消息。在调用第二个服务之前,我不希望在我的服务器中阻塞任何线程。就像观察者模式。 spring 网络通量是否可能?

更新:当服务器使用分布式缓存时,我们可以拥有这个功能吗?

我认为您可以在 2 个服务之间使用 CompletableFuture,例如:

    CompletableFuture<String> future = new CompletableFuture<>();
    
    public Mono<String> isConfirmed() {
        return Mono.fromFuture(future);
    }
    
    public void confirm(String confirmation) {
        future.complete(confirmation);
    }