如何让 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);
}
我是 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);
}