方法非常简单,我们只需要在@Async注解中指定线程池名即可
@Service
public class GitHubLookupService {
private static final Logger logger =LoggerFactory.getLogger(GitHubLookupService.class);
@Autowired
private RestTemplate restTemplate;
// 这里进行标注为异步任务,在执行此方法的时候,会单独开启线程来执行(并指定线程池的名字)
@Async("taskExecutor")
public CompletableFuture<String> findUser(String user) throws InterruptedException {
logger.info("Looking up " + user);
String url = String.format("https://api.github.com/users/%s", user);
String results = restTemplate.getForObject(url, String.class);
Thread.sleep(3000L);
return CompletableFuture.completedFuture(results);
}
}
springboot接口开发线程异步处理
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对...
- CompletableFuture是java8提供更加完备的函数式异步工具。其继承了Future和Completi...
- 在现代软件开发中,系统功能越来越复杂,管理复杂度的方法就是分而治之,系统的很多功能可能会被切分为小的服务,对外提供...
- CloudJavaBackendSummaries1、开发环境eclipse工程,引入jw仓库的jw-base,3...