CompletableFuture.runAsync http context 获取不到
时间: 2023-10-13 13:21:33 浏览: 156
CompletableFuture.runAsync 方法会在一个新的线程中执行任务,因此无法获取当前线程的 Http 上下文。如果需要在异步任务中使用 Http 上下文,可以考虑将上下文传递给 CompletableFuture 的任务方法中,或者使用 CompletableFuture.supplyAsync 方法,将上下文作为参数传递给返回值的方法中。例如:
```
CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
// 在这里使用上下文
}, executor).whenComplete((result, exception) -> {
// 处理结果或异常
});
```
或者:
```
CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {
// 在这里使用上下文
return null;
}, executor).whenComplete((result, exception) -> {
// 处理结果或异常
});
```
阅读全文