之前连续写了几篇关于使用 @Async
实现异步调用的内容,也得到不少童鞋的反馈,其中问题比较多的就是关于返回 Future
的使用方法以及对异步执行的超时控制,所以这篇就来一起讲讲这两个问题的处理。
如果您对于 @Async
注解的使用还不了解的话,可以看看之前的文章,具体如下:
定义异步任务
首先,我们先使用 @Async
注解来定义一个异步任务,这个方法返回 Future
类型,具体如下:
@Slf4j
@Component
public class Task {
public static Random random = new Random();
@Async("taskExecutor")
public Future<String> run() throws Exception {
long sleep =