spring async注解
1.概述
spring 3.x内置的异步处理注解,对于需要异步调用的方法只需添加此注解就可以采用异步的方式调用。
2.demo
@Bean("taskExecutor") public AsyncTaskExecutor taskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); return taskExecutor; } @Async("taskExecutor") public void o(){ System.out.println("demo"); } @Async("taskExecutor") public Feature<String> o2(){ return new AsyncResult<>("deviceAbilityMap"); }
3.调用
通过spring获取要调用的异步方法对应的bean,调用异步方法返回feature对象,然后继续执行其他业务,等业务执行完需要获取异步执行结果时,执行feature.get
如果异步任务已完成则返回,否则阻塞等待。