SpringBoot3 StreamingResponseBody 流式响应 超时时间
时间: 2024-01-08 08:04:19 浏览: 413
在 Spring Boot 3 中,你可以使用 StreamingResponseBody 来实现流式响应。流式响应通常用于处理大量数据或长时间运行的任务,如文件下载、视频流等。
要设置流式响应的超时时间,需要在配置文件中添加以下配置:
```
server:
connection-timeout: 60000
```
这将设置连接超时时间为 60 秒。可以根据实际需求调整超时时间。
除了配置文件外,你还可以在代码中通过设置 HttpServletResponse 的超时时间来控制流式响应的超时时间,例如:
```java
@GetMapping("/download")
public void download(HttpServletResponse response) throws IOException {
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=test.txt");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
response.setBufferSize(1024 * 1024);
// 设置超时时间为 60 秒
response.setBufferSize(60000);
OutputStream outputStream = response.getOutputStream();
// 写入数据流
outputStream.write(/* 数据流 */);
outputStream.flush();
outputStream.close();
}
```
在上面的代码中,我们通过设置 HttpServletResponse 的 setBufferSize 方法来设置超时时间为 60 秒。注意,这里的超时时间单位是毫秒。
阅读全文