CompletableFuture使用AopContext.currentProxy()
时间: 2023-11-10 17:02:03 浏览: 254
CompletedFuture
CompletableFuture可以使用AopContext.currentProxy()获取代理对象来调用异步方法,这样可以避免在同一类中调用异步方法时无法使用注解的问题。
示例代码如下:
```java
@Service
public class AsyncServiceImpl implements AsyncService {
@Async
@Override
public CompletableFuture<String> doSomething() {
// do something asynchronously
return CompletableFuture.completedFuture("done");
}
@Override
public CompletableFuture<String> doSomethingAsync() {
AsyncService proxy = (AsyncService) AopContext.currentProxy();
return proxy.doSomething();
}
}
```
阅读全文