问题标签 [spring-reactor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1016 浏览

java - 如何将返回`void`的同步方法包装到Mono中?

我正在尝试调整返回返回的 postgresql 存储库deleteById方法voidMono<Void>

存储库是我自动装配的服务,我像这样使用它

repository.deleteById(id)以字符串 id 作为参数

0 投票
2 回答
920 浏览

java - 升级到 Spring Boot 2.2 后 Springboot WebFlux 测试失败

我有一些 Springboot 集成测试,它们在 Springboot 2.1 中运行良好,但现在我已经升级到 Springboot 2.2,它们失败了。使用默认的 spring-boot 父依赖管理。一些曾经有效的失败测试就像这个例子一样简单:

在升级之前,此测试按预期通过,但在升级之后,它失败并出现以下错误:

升级后我有很多类似行为的测试。上线失败assertThat(acc.block(), hasSize(0));

这可能是什么原因造成的?

更新

我尝试按照评论中的建议更改测试以使用 StepVerifier 但没有奏效:

错误的结尾刚刚更改为:parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@985b9f6] is not yet refreshed. This is unexpected. Reactor Context is [Context0{}] and name is [stepVerifier ]))这似乎与使用块相同的问题,但现在使用 StepVerifier。

谢谢。

0 投票
1 回答
1039 浏览

spring-webclient - 取消信号(关闭连接)可能是什么原因?

在我们应用程序的 Kibana 中,我不断从以下位置看到这行日志org.springframework.web.reactive.function.client.ExchangeFunctions

线程是reactor-http-epoll-1左右。

它可能发生在两种情况下:

  • 当连接成功并返回响应时,则无所谓
  • 当出于某种未知原因时,10 秒后,连接没有返回任何内容,并且这条线也发生了,并且期间,仅此而已。这似乎是超时但我不确定(因为我的 WebClient 配置中的默认超时是 10 秒)

这可能是什么原因?客户端主动丢弃还是服务器主动拒绝?

第二种情况是否超时?但不是TimeoutException()事后抛出。

我现在doOnCancel()登录 WebClient 来处理第二种情况,但后来我注意到有第一种情况,这种doOnCancel()处理不再有意义,因为它似乎在所有情况下都会发生。

0 投票
0 回答
151 浏览

java - 有没有一种简单的方法可以使用 Project Reactor (Java/Spring) 来获取几个 Flux 对象之间的元素交集?

我在 Java 中使用带有 Spring Boot 的 Project Reactor。我想知道是否有一种简单的方法可以使用 Project Reactor 让几个 Flux 对象之间的元素相交而不会阻塞。

谢谢!

0 投票
0 回答
79 浏览

spring - Spring AOP 和 Reactor 中的多个有序注释出错

我有这两个注释及其各自的方面:

我需要它们井井有条,Cb被称为最内层和BackupCache最外层。如果我对两者都下令(使用Cb order = 10),则会出现以下错误:

测试重现:

删除其中一个命令可以解决问题,但我需要执行命令。任何人都可以帮忙吗?

0 投票
1 回答
409 浏览

spring - 当后端使用 webflux 或简单的 rest 控制器时,web 浏览器有什么不同吗?

假设我们有 2 个休息服务:

// 另一个控制器

这段代码之间客户端的网络浏览器有什么区别吗?

0 投票
1 回答
3272 浏览

spring-webflux - WebFlux - Reactor Http Epoll 线程

我正在使用 Spring webflux。我将数百个并发请求发送到其余端点。当我检查时,只有 4 个线程被共享来处理所有负载。

这是正常的吗?是否有任何弹簧属性可以增加此计数?

  • 反应堆-http-epoll-1
  • 反应堆-http-epoll-2
  • 反应堆-http-epoll-3
  • 反应堆-http-epoll-4

我明白我可以使用反应器调度程序来卸载阻塞工作。我的问题更多 - 这 4 个线程是什么,我们在哪里有这个配置?

0 投票
1 回答
2095 浏览

spring-webflux - 转换与转换延迟

项目反应堆通量之间的区别是什么transformtransformDeferred

好的例子会有所帮助。

https://projectreactor.io/docs/core/release/reference/index.html#advanced-mutualizing-operator-usage

0 投票
1 回答
69 浏览

spring-webflux - 生成将函数应用于 Reactor Flux 的两个连续元素的元素

我有一个 Flux 会发出一些元素,为了简单起见假设一个Flux<String> -> "1", "2", "3", "n"

我需要做的是获取两个连续的元素并应用一个操作(例如 flatMap),它将从中生成一些元素。再次假设该函数将第一个元素与第二个元素连接起来,将第二个元素与第一个元素连接起来:

f(x,y) -> "xy", "yx"

所以从原始 Flux 发出的最终序列应该是:

"12" - "21" - "23" - "32" - "3n" - "n3"

怎么可能做到这一点?

0 投票
1 回答
315 浏览

java - 溪流> 到通量在弹簧反应器中

可以说我有ProductSupplier哪些允许通过 id 获取产品。但它有限制,每个请求您只能加载一种产品。

现在我在写ProductService我需要按 id 获取产品列表