springboot接口开发线程异步处理

方法非常简单,我们只需要在@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);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容