32得票1回答
在项目反应器或Akka Streams中,sink和subscriber的概念上有什么区别?

“sink”和“subscriber”的概念在我看来很相似。此外,我没有看到“sink”的概念在响应式流规范中被明确定义。

32得票1回答
onErrorResume和doOnError的区别

在Spring项目反应器中,`onErrorResume`和`doOnError`有什么区别?我应该在什么情况下使用它们?

29得票1回答
"Operator called default onErrorDropped" 在 Mono 超时时出现的问题

在我的生产代码中,当一个Mono超时时,我的日志中会出现错误。 我使用以下代码成功地重新创建了这些错误: @Test public void testScheduler() { Mono<String> callableMethod1 = callableMethod()...

28得票1回答
反应器将Mono<Boolean>映射到Mono<Void>

我有一个返回Mono&lt;Boolean&gt;的函数,我想将它映射为Mono&lt;Void&gt;(因为这是我在控制器方法中返回的内容)。 有没有更好的方式返回这样的Mono而不是使用.flatMap { Mono.empty&lt;Void&gt;() }? 我不能使用.map{ ...

27得票6回答
如何在spring-webflux WebFilter中正确使用slf4j MDC

我参考了博客文章《使用 Reactor Context 和 MDC 进行上下文日志记录》,但我不知道如何在 WebFilter 中访问 Reactor 上下文。 @Component public class RequestIdFilter implements WebFilter { ...

27得票7回答
Spring Webclient:在特定错误上进行退避重试

当响应为5xx时,我希望在等待10秒后重试请求3次。但是我没有找到可用的方法。关于对象: WebClient.builder() .baseUrl("...").build().post() .retrieve().bodyTo...

27得票1回答
ParallelFlux与flatMap()在阻塞I/O任务中的比较

我有一个Project Reactor链,其中包括一个阻塞任务(网络调用,我们需要等待响应)。我想同时运行多个阻塞任务。 似乎可以使用ParallelFlux或flatMap(),以下是最基本的示例:Flux.just(1) .repeat(10) .parallel(3) ...

26得票1回答
“text/event-stream”和“application/stream+json”的区别是什么?

@GetMapping(path = "/cars", produces = "text/event-stream") public Flux&lt;Car&gt; getCarStream() { System.out.println("application/stream+json...

26得票1回答
在Project Reactor中,背压是如何工作的?

我一直在使用Spring Reactor,之前做过一些测试,让我想知道Flux默认如何处理背压。我知道onBackpressureBuffer等方法存在,也知道RxJava默认为无限制,除非你定义缓冲、丢弃等策略。 所以,有人能否为我澄清:在Reactor 3中,Flux的默认背压行为是什么...

25得票2回答
将CompletableFuture<Stream<T>>转换为Publisher<T>是否正确?

为了允许从CompletableFuture&lt;Stream&lt;String&gt;&gt;生成的流上进行多次迭代,我考虑以下其中一种方法: 通过以下方式将结果future转换为CompletableFuture&lt;List&lt;String&gt;&gt;:teams.th...