0
我有Spring服务,它执行一些任务后,启动一个背景异步任务。我已经定义为一个组件的任务本身。 现在,如果我必须使用属于我发起线程的服务的一些方法。我可以在线程(组件)中自动装载服务,它将起作用。问题是...设计。它带来了一种循环依赖? 我们如何解决这个问题?设计:Spring服务的后台线程
ServiceA->启动ThreadA组件 - > ThreadA需要调用ServiceA中的方法。
我有Spring服务,它执行一些任务后,启动一个背景异步任务。我已经定义为一个组件的任务本身。 现在,如果我必须使用属于我发起线程的服务的一些方法。我可以在线程(组件)中自动装载服务,它将起作用。问题是...设计。它带来了一种循环依赖? 我们如何解决这个问题?设计:Spring服务的后台线程
ServiceA->启动ThreadA组件 - > ThreadA需要调用ServiceA中的方法。
什么如所描述使用@Async注解的方法here
非测试例如:
@Service
public class MyService {
private final RestTemplate restTemplate;
public String mySyncMethod(){
return "Hello World";
}
@Async
public Future<String> myAsyncMethod() throws InterruptedException {
return new AsyncResult<>(mySyncMethod());
}
}