Java @spring控制器方法中的异步
默认情况下,Spring控制器REST方法是异步的 那么@Async注释的目的是什么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); }
@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表示异步计算的结果 AsyncResult是Future的一个实现,包装了异步执行的返回类型 根据blog,Callable是控制器方法的适当返回类型
ref所以@Async将执行Callable和DeferredResult所做的操作,即释放容器线程并在另一个线程中异步处理长时间运行的任务,对吗?是的,这就是@Async方法的行为。