spring-boot - 意外取消信号和 503 响应代码
问题描述
在使用 Spring Webflux 处理我的反应式 REST 端点时,我意识到,如果返回的Publisher
操作没有在大约 30 秒内完成,它将被取消并返回响应代码 503。
我还没有在任何地方看到这种行为。
一个示例 REST 控制器:
package myapp.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Mono;
import javax.servlet.http.HttpServletRequest;
import java.time.Duration;
@RestController
public class TestAlationIndexingRestController {
@RequestMapping(
value = "/test",
method = RequestMethod.GET
)
public Mono<String> test(HttpServletRequest request) {
return Mono.delay(Duration.ofMinutes(2)).thenReturn("Late");
}
}
响应:503 没有响应内容
我的问题:如何禁用此行为,或者至少增加超时?
注意:我尝试使用应用程序属性server.connection-timeout: -1
或server.connection-timeout: 15
没有成功 - 请求在 30 多秒后仍然超时。
我正在使用 Spring Boot 依赖项(版本2.1.6-RELEASE
):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
和
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.2.12.RELEASE</version>
</dependency>
解决方案
推荐阅读
- cloud-foundry - PCF:如何找到您拥有开发人员权限的所有空间的列表
- vb.net - 按变量名使用字典
- amazon-web-services - 仅在 AWS Elastic Beanstalk 网站上部署更改的文件
- node.js - 在 loopback4 中扩展实体与扩展模型
- c - 如何在 Windows 上使用 libssh 在 C 中执行端口转发
- pandas - 只有一列的数据框,删除 nans 不起作用
- python - 在函数之外或在其他函数中使用变量?
- python - 使用 discord.py 使用 bot 命令写入文本文件
- git - Gitlab-ci 用于同一存储库中的特定目录
- mysql - MySQL Workbench Visual Explain 不起作用