问题标签 [spring-reactive]
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.
spring-boot - 从 WebClient 流式传输到 Flux。阻塞超时抛出异常
我在 Spring Boot 应用程序中使用 WebClient 调用流式 API。
我想检索元素,直到我收到 10 个元素或 10 秒过去。我希望请求被阻止,直到任何一个先发生。
如果在超时之前检索到 10 个项目,调用会很好地返回,并且我有一个包含 10 个项目的填充列表。
但是,如果超时首先通过,则会引发以下异常,并且不会返回任何项目。
如何读取长达 x 秒的流,然后使用 WebClient 返回检索到的项目?
functional-programming - Spring Webflux 单声道总是以成功的响应来响应
我有一个端点,它接受 id 参数并发送删除产品 api 来删除。productService.delete 也返回 Mono。问题是当 productService.delete 方法返回单声道错误时,端点总是以 http 200 响应。我可以看到有关此单声道错误的错误日志,但我的处理程序方法响应 http 200。
我有一个 AbstractErrorWebExceptionHandler 来处理我的 api 中的异常。但是由于 Mono 的原因,错误处理程序无法处理此问题。当下游发生异常时,Spring webflux 应该知道这个错误并且不会响应 http 200。
顺便说一句,在源代码中,它表示将在给定发布者完成时提交响应。但是错误完成怎么样?我认为 Spring webflux 不会检查它是否是错误信号。只需检查单声道是否完成。
先感谢您。
spring-boot - 在 Spring Webflux 中结合非阻塞和阻塞调用并返回结果
我正在使用 Spring Webflux 和 Spring Boot 2,我的场景是这样的:
控制器
服务等级
在返回之前,如何连接 Flux 和正常产品列表中的结果?没有反应式控制器是否有可能?
PS我不想在调用 1 获得的结果上调用 .block() 和 CompleteableFuture
java - 如何在 Spring Reactive 测试中的 StepVerifier 中使用 iterable
我写了一个创建Flux
对象的测试方法。
测试方法:
expectNext()
我的问题是有什么方法可以在不使用多个语句的情况下简化我的测试方法。
reactive-programming - 调用不从 Spring Reactive Controller 传播到服务方法
我是spring webflux的初学者。我们目前正在将我们的应用程序迁移到 Spring Webflux。不,我遇到了一个问题。以下是我的场景。
主要服务类为数据调用以下服务类
StudentService
- 返回Mono<Student>
StaffService
- 返回Mono<Staff>
这里我有一个包装类 StudentWithMentor 来存储这些服务类的结果。
现在在控制器中,我正在调用上述 2 个服务并以下列方式将其映射到“StudentWithMentor”中
但是当我调用这个端点时,我在邮递员中得到以下结果
注意:我在调试时从底层服务获得结果。但是调用在它处理之前就返回了。
我怎样才能以完全非阻塞的方式实现这一点。感谢任何帮助。
api - 发现单声道到T级
我是反应组件的新手。我使用 webclient 进行了 api 调用,响应被包装在 Mono 组件中。有没有办法检查分配给接收到的 Mono 组件中的对象类的值。
收到的响应包装在 Mono<Abc.class> 中。
我想获取消息、电子邮件、状态中的值。
我尝试使用 .block() 但收到的错误 block()/blockfirst()/blocklast() 是阻塞的,线程 reactor-http-nio-4 不支持。
先感谢您。
spring-webflux - Spring data - webflux - 链接请求
我使用响应式 Mongo 驱动程序和 Web Flux 依赖项
我有如下代码。
员工存储库具有以下代码
调用 findById 时线程实际上是否阻塞?我了解 map 中的部分实际上阻塞了线程。
如果它阻塞,我怎样才能使这段代码完全反应?
此外,在这种编写代码的反应式范例中,我如何处理找不到给定员工的问题?
java - org.springframework.boot.web.reactive.error.DefaultErrorAttributes 在 org.springframework.boot:2.3.1.RELEASE 中不再被调用
弹簧反应式网络:
在 Spring Boot 2.2.* 的早期,我使用了一个扩展 DefaultErrorAttributes 的类。此类用于全局处理整个微服务的异常。当我升级到 2.3.1 时,它不再工作了。我在 2.3.1 版本中没有发现 spring 响应式 web 有任何重大变化。有什么改变可以打破这个吗?我们需要改变什么吗?有输入吗?
似乎不再调用 DefaultErrorAttributes 了。示例代码在这里。
}
spring-webflux - 在 Spring Gateway 预过滤器中检查数据库的访问权限
我正在使用 Spring Gateway,我需要使用 DB 调用通过请求路径检查进一步的用户访问。我的存储库是这样的。
这是我当前使用自定义UsernamePasswordAuthenticationToken
实现的过滤器。
但是,这里有几个问题,首先是阻塞调用。另外我不确定我需要变异exchange
以返回这样的响应。无论如何使用 Spring Cloud Gateway 中的过滤器来实现这一点。