如何在 Spring Boot 中为特定服务功能设置超时?

How to set a timeout to a specific service function in Spring Boot?

我正在创建一个应用程序,其中服务中的某些操作需要异步。

我在 AsyncConfigurer.

中设置了 1 分钟的全局超时

这对大部分动作都可以,但在某些动作中,我需要设置更长的超时时间。例如在以下服务操作中:

@Async
public Object someLongFunction() {

谁能告诉我如何为特定操作设置特定超时?

只需将函数的 return 类型更改为 java.util.concurrent.Future

它有 java.util.concurrent.Future#get(long, java.util.concurrent.TimeUnit) 方法,您可以利用它来定义自定义超时