Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @spring控制器方法中的异步_Java_Spring_Spring Boot - Fatal编程技术网

Java @spring控制器方法中的异步

Java @spring控制器方法中的异步,java,spring,spring-boot,Java,Spring,Spring Boot,默认情况下,Spring控制器REST方法是异步的 那么@Async注释的目的是什么 @RequestMapping(value = "/status/{id}", method = RequestMethod.GET) @Async public Future<Status> getStatus(@PathVariable("id") String id) { return new AsyncResult<Status>(status); }

默认情况下,Spring控制器REST方法是异步的

那么@Async注释的目的是什么

@RequestMapping(value = "/status/{id}", method = RequestMethod.GET)
@Async
public Future<Status> getStatus(@PathVariable("id") String id) {    
    return new AsyncResult<Status>(status);    
}
@RequestMapping(value=“/status/{id}”,method=RequestMethod.GET)
@异步的
公共未来getStatus(@PathVariable(“id”)字符串id){
返回新的异步结果(状态);
}

另外,未来接口和AsyncResult类的作用是什么?

@Async:可用于触发和遗忘场景,例如发送电子邮件、启动数据库作业。调用方立即获得响应,而后台作业完成处理

未来接口和AsyncResult类的角色是什么

Future表示异步计算的结果

AsyncResultFuture的一个实现,包装了异步执行的返回类型

根据blog,Callable是控制器方法的适当返回类型


ref

所以@Async将执行Callable和DeferredResult所做的操作,即释放容器线程并在另一个线程中异步处理长时间运行的任务,对吗?是的,这就是@Async方法的行为。