@GetMapping("/webAsyncTask")
public WebAsyncTask<String> webAsyncTask() {
log.info("外部线程:" + Thread.currentThread().getName());
WebAsyncTask<String> result = new WebAsyncTask<>(60 * 1000L, new Callable<String>() {
@Override
public String call() {
log.info("内部线程:" + Thread.currentThread().getName());
return "success";
}
});
result.onTimeout(new Callable<String>() {
@Override
public String call() {
log.info("timeout callback");
return "timeout callback";
}
});
result.onCompletion(new Runnable() {
@Override
public void run() {
log.info("finish callback");
}
});
return result;
}