16得票1回答
使用虚拟线程(Project Loom)与Spring WebFlux/Reactor/Reactive库。

Java虚拟线程 在Java 19中引入了虚拟线程JEP-425作为预览功能。 在对Java虚拟线程(项目Loom)的概念进行一些调查后,有时被称为轻量级线程(或有时称为纤程或绿色线程),我对它们与反应式库的潜在用途非常感兴趣,例如基于Project Reactor(反应式流实现)和Net...

14得票1回答
block()、subscribe()、subscribe(-) 之间的区别是什么?

Mono.delay(Duration.ofMillis(10)).map(d -> { System.out.println(d); return d; }).block(); 输出:0 当我使用subscribe(...

18得票1回答
为Spring Web Client添加异常处理程序

我使用这段代码进行REST API请求。WebClient.Builder builder = WebClient.builder().baseUrl(gatewayUrl); ClientHttpConnector httpConnector = new ReactorClientHttpC...

14得票5回答
如何在Spring Boot 2 + Webflux + Thymeleaf中配置国际化(i18n)?

我刚刚开始一个基于Spring Boot 2和Webflux的新项目。在将Spring Boot版本升级并将spring-boot-starter-web替换为spring-boot-starter-webflux之后,像以下类: WebMvcConfigurerAdapter Loc...

9得票1回答
Spring WebClient作为RestTemplate的替代方案

目前RestTemplate的javadoc声明: 注意:自5.0版本以来,非阻塞式反应org.springframework.web.reactive.client.WebClient提供了一种现代替代RestTemplate的方法,支持同步和异步以及流式场景的高效支持。 RestTemp...

21得票5回答
如果Mono为空则执行某个操作并在不为空时抛出错误的方法。

我正在尝试将一个项目转换为使用Spring WebFlux,并在获取一些基本业务逻辑时遇到了问题。 我有一个负责检索/持久化记录的存储库层和一个负责应用程序业务规则的服务层。 在服务层中,我想要做的是检查给定用户名是否已经存在用户。 如果存在,则希望响应错误。 如果不存在,则允许插入发生。 ...

14得票4回答
在Spring WebFlux的WebClient中设置超时时间

我正在使用Spring Webflux WebClient在我的Spring boot应用程序中进行REST调用,但每次都会在30秒内超时。 这是我尝试设置Spring webfulx WebClient套接字超时的一些代码。 - ReactorClientHttpConnector con...

11得票1回答
Spring WebFlux中的ReactiveSecurityContextHolder为空

我正在尝试在Spring WebFlux中使用ReactiveSecurityContextHolder。不幸的是,SecurityContext为空:@Configuration public class Router { @Bean public RouterFuncti...

7得票2回答
在Spring WebFlux响应式处理程序中发送JMS消息:是否会阻塞?

这是正确处理响应的方式吗?我看到有两个线程,一个是响应式nio线程,直到flatMap(fareRepo::save)为止。另一个是计算线程,从发送消息开始,并一直持续到ServerResponse.build()。我的问题是这种响应式请求处理方式是否正确?注意:fareRepo是响应式cou...

13得票3回答
Spring Boot:如何使用WebClient而不是RestTemplate执行非阻塞和异步调用

我有一个使用Springboot Resttemplate的Springboot项目。我们从1.5.3版本升级到了2.0.1版本,并且正在尝试使用WebClient从中进行异步REST调用。我们以前使用Resttemplate处理接收到的字符串,如下所示。但是WebClient仅以Mono或F...