问题标签 [spring-webflux]

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 回答
2052 浏览

spring-web - 使用 Spring 功能 Web 框架的 REST 端点的背压

如果我理解正确,使用 Akka Streams 实现的 HTTP 端点通过不从用于与客户端通信的套接字中读取来向 HTTP 客户端应用背压。

这对于使用 Spring 的功能 Web 框架实现的 HTTP 端点也是如此吗?

如果没有,我将如何向 HTTP 客户端发出减速信号?

0 投票
1 回答
541 浏览

spring - Spring 5 Web Reactive - 关于 DTO 响应正文转换的说明

根据文档

响应正文可以是以下之一:

  • Account — 在不阻塞给定 Account 的情况下进行序列化;意味着一个同步的、非阻塞的控制器方法。

为什么同步控制器方法可以是非阻塞的?听起来很矛盾。

0 投票
2 回答
1337 浏览

java - spring-boot-starter-web-reactive M4 依赖

Spring web 反应式中有一个类WebClient and ClientRequest。如果我们查看以下文档,则可以使用 WebClient 来使用 ClientRequest。

但不幸的是,我添加到项目中的 gradle 依赖项无法使用ClientRequest.GET方法。以下是我正在使用的 gradle 依赖项:

我找不到 M4 的依赖项。M4 是否在任何存储库的某个地方发布?

0 投票
1 回答
758 浏览

spring-boot - 使用 WebClient Sprint 5 reactor web 调用微服务

我在我的休息控制器中调用一个微服务。当微服务成功响应时,它工作正常,但如果有一些错误响应,我无法将错误响应传递回用户。下面是示例代码。

现在,如果有任何带有错误代码的 JSON 响应,则 Web 客户端不会将错误响应传递给控制器​​,因此不会将任何信息传播给 api 最终用户。

0 投票
1 回答
490 浏览

spring-web - 如何使用 Web 响应式实现通用 HTTP 请求/响应日志记录

使用“传统”Web 框架,可以使用例如 AbstractRequestLoggingFilter 来实现通用日志过滤器。使用 web-reactive 过滤器不再被调用(这是有道理的,因为它在 HttpServletRequest 上运行)。

任何人都可以为我指出正确的方向来实现具有 web-reactive 的请求过滤器,它记录 HTTP 请求,包括它的主体,在请求之前和之后,就像在 AbstractRequestLoggingFilter 中一样?

0 投票
3 回答
52 浏览

spring-webflux - 具有依赖版本问题的 Spring-web-reactive 示例

我正在尝试运行此示例 - https://github.com/joshlong/bootiful-reactive

我正面临编译问题。什么版本的 spring-web-reactive 与 reactor-netty 一起使用?

0 投票
0 回答
999 浏览

java - 返回 xml 响应 spring 响应式 Web 应用程序

我正在尝试本教程 spring-playground 用于 sprint 反应式 Web 应用程序

我希望响应在 xml 中,但是当我将 @XmlRootElement 提供给 Person 类并调用http://localhost:8090/persons 时,只得到存储库的第一个人的响应。

但删除 @XmlRootElement 以 Json 格式返回所有 Person [ { "id": "58a47bf7832db7039db3a287", "name": "Stephine maldini", "age": 41 }, { "id": "58a47bf8832db7039db3a288", "name": “Arjen Poutsma”,“年龄”:10 },{“id”:“58a47bf8832db7039db3a289”,“名称”:“Josh long”,“年龄”:81 },{“id”:“58a47bf8832db7039db3a28a”,“名称”: “罗森斯托扬切夫”,“年龄”:2},{“id”:“58a47bf8832db7039db3a28b”,“名称”:“Sebastin Deleuse”,“年龄”:72},{“id”:“58a47c03832db7039ebcfbc6”,“名称”:“斯蒂芬·马尔蒂尼”,“年龄”:63 },{“id”:“58a47c03832db7039ebcfbc7”,“姓名”:“Arjen Poutsma”,“年龄”:83 }]

下面给出了类和POM

请让我知道我缺少什么以获取 XML 格式的 Response> all(Request request) {。

感谢您的帮助。

0 投票
1 回答
1963 浏览

java - 无法通过弹簧网反应式表现出背压

我正在尝试使用 spring-web-reactive 来展示背压,就像这里使用 akka 显示的方式一样 - https://www.youtube.com/watch?v=oS9w3VenDW0 (在 28:20 和 29:20 之间观看)。

为了试用它,我使用了来自 github https://github.com/bclozel/spring-boot-web-reactive的以下示例项目

在设置项目后,我在 HomeController.java 中添加了一个新端点,如下所示:

现在,如果我尝试卷曲此端点,然后使用 (CTRL+z) 将其挂起,那么一旦 tcp 缓冲区被填满并且服务器应该停止发出事件,背压就会启动。

但是,在某个时间后暂停 curl 命令会引发以下异常:

我无法理解为什么在 curl 命令暂停后的某个时间请求终止异常(在 spring-web-reactive 实现中),而在 akka 示例中(如 youtube 链接中所示),服务器一旦停止发布事件tcp 缓冲区已满。

0 投票
1 回答
211 浏览

spring-web - 功能性 Web 框架中的 SSL (HTTPS) 支持

我应该如何使用功能性 Web 框架为 Spring Boot 服务配置 SSL?

通过设置 server.ssl.* 属性进行的配置不起作用(意味着根本没有发生任何事情),如果我正确阅读文档,则仅支持 server.port 和 server.address 。

作为运行时,我更喜欢 netty,但我也可以使用 tomcat。

0 投票
1 回答
3230 浏览

java - 在 Spring Boot 客户端中接收通量

这是 Spring 5 Web Reactive 的后续问题- 我们如何使用 WebClient 在 Flux 中检索流数据?

我尝试遵循如何使用 Spring WebClient 接收 Flux 的建议,但实际上遇到了一个网络问题。

在服务器端,代码是一个简单的控制器,暴露了 Mongo 存储库的 findAll 方法:

在客户端,消费代码就像上面给出的答案:

但这会引发异常:

2017-02-27 08:19:41.281 错误 99026 --- [ctor-http-nio-5] r.ipc.netty.channel.ChannelOperations:[HttpClient] 处理连接时出错。请求关闭频道

io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1 at io.netty.buffer.AbstractReferenceCountedByteBuf.release0(AbstractReferenceCountedByteBuf.java:101) ~[netty-all-4.1.8.Final.jar:4.1.8.最终的]

我正在使用当前的 Spring Boot 2.0.0 BUILD-SNAPSHOT。

这个异常告诉我什么?我怎样才能正确?