问题标签 [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.

0 投票
1 回答
488 浏览

java - spring data reactive mongodb:insertAll()失败后如何检索生成的ID

我正在尝试从 a 插入 java 对象Flux并为每个对象生成响应,无论成功还是失败。基本上代码如下所示:

通过定义唯一性约束并发送适当的数据,我可以为提交的批次获得一个异常(一个有MongoBulkWriteException原因的),但我想知道哪些行到达了我的数据库以及我遇到了哪些问题。此外,一些对象被写入数据库,但它们没有被变异为生成 id。

我知道可以通过在多文档事务中插入(需要用于简单集成测试的副本集)或自己生成_id(需要查询插入的值,或假设错误导致不写入后续项目)来替代解决方案但我想知道这里是否有更简洁的错误处理方法。

0 投票
0 回答
244 浏览

java - 使用 ParallelFlux 时限制最大线程数

我如何限制并行执行的任务线程?问题很简单——当我的调度程序工作时,我不能做任何其他事情(使用邮递员等获取一些信息)。有没有办法解决这个问题?此外,我尝试设置不断变化的线程数,例如,使用 parallel(3).runOn(Schedulers.parallel()) 并且我的程序仍然被阻止。

还值得一提的是,我有 flatmap 方法可以并行打开连接:

0 投票
1 回答
5409 浏览

spring-boot - Spring Cloud 网关在过滤器中发送响应

我正在使用 Spring Cloud Gateway 作为边缘服务器。这是流量

如果请求有一个名为“x-foo”的标头,则找到标头值,从另一个服务器获取一个字符串并将该字符串作为响应发送,而不是实际代理请求。

这是过滤器 DSL 的代码

Foo 过滤器的代码

问题是,响应得到了正确的 200 代码,注入的标头出现在响应中,但数据在响应中不可用。

0 投票
1 回答
635 浏览

spring-boot - 将 Spring Cloud Stream 转换为使用响应式云功能

目前我有类似这样的 Spring Boot 应用程序。

我想在这里使用反应模式使用 Spring Cloud Function。

此外,我当前的解决方案是非阻塞的吗?我问这个是因为这是我第一次在这种情况下使用 Kotlin 协程。

Java 解决方案也适用于我,因为我只是想理解这里的概念。

0 投票
2 回答
1543 浏览

java - 你能 Flux.zip 一个单声道和一个助焊剂,并为每个助焊剂值重复单声道值吗?

是否可以执行以下代码之类的操作?我有一个进行 API 调用的服务和另一个返回值流的服务。我需要通过 API 调用返回的值来修改每个值。

我已经尝试为 Mono 使用 .repeat() 并且它可以工作,但是每次有一个新的 Flux 值并且它是一个 API 调用时它都会调用该方法,所以它并不好。

可能吗?

0 投票
2 回答
1154 浏览

spring-webflux - Mono flatMap + switchIfEmpty 组合运算符?

是否有允许处理结果/成功的运算符,无论 Mono 是否为空。例如:

在哪里:

是否有允许类似以下或类似内容的快捷方式运算符?

更具体地说,当 Mono 为空时将包含mono.someOperator()返回值,否则返回值。Optional<Foo>null

我想避免像上面提到的那样创建流程方法,并且只有一个代码块,但不确定哪个操作员可以在不重复块的情况下提供帮助。

0 投票
2 回答
162 浏览

java - 使用单声道在 Spring 中填充 Cloud Firestore 实体

我用于在我的 Java Spring 应用程序中spring-cloud-gcp-starter-data-firestore访问Google Cloud Firestore 。

目前,我的实体如下所示:

但是,我通过in获得userIdand 。companyIdreactor.core.publisher.Monoorg.springframework.security.core.context.ReactiveSecurityContextHolder

如何在Mono不诉诸于 s 的情况下保留嵌套在 s中的两个属性Mono#block

0 投票
1 回答
967 浏览

java - 普罗米修斯端点中缺少 Spring Boot Webclient 指标

手动创建 WebClient 时,Prometheus 端点中的 Http 客户端指标丢失。

下面的代码能够生成预期的 http 客户端指标,如下所示,

如下所示手动创建 WebClient.Builder 时,Prometheus 端点缺少预期的指标(如上所示)。

是否有任何解决方案可以在不自动连接 WebClient 或 WebClient 构建器的情况下获取指标(已探索过 MetricsWebClientFilterFunction,但在最新版本的 Spring Boot 中似乎已弃用)?

0 投票
0 回答
21 浏览

spring-security-rest - 具有基本身份验证的 Spring 反应式安全性,用于 rest api

我在使用 Spring Security Reactive + 基本身份验证 + rest api + react redux 时遇到问题。

我正在尝试从反应(客户端)实现身份验证。如果用户名和密码正确,则它可以正常工作。但是,如果出现错误凭证而不是返回 401,我的请求会被取消,并且对于发送,基本身份验证会弹出并消失。因此我无法处理错误的凭证场景。

下面是错误的屏幕截图。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
184 浏览

angular - 如何使用 Angular 8 发送 GET 请求以及如何处理传入的 APPLICATION_STREAM_JSON_VALUE 响应

我正在使用 Spring Boot 和 Webflux 公开一个端点,该端点返回一个无限的数字流,每秒一个:

如果我从浏览器调用localhost:8080/infinitestreamflux,一切正常。结果在到达时正确显示。

我想使用 Angular 8 归档相同的结果,但页面中没有显示任何内容。

这是我的测试组件:

这是我非常简单的模板:

从我的服务器日志中,我可以清楚地看到正在发送结果。从 Chrome 开发工具中,我发现值每秒都会到达,即使它们没有显示在预览选项卡中。最后,页面最终为空。

我该如何解决这个问题?