2016-09-22 31 views
0

我有Spring服务,它执行一些任务后,启动一个背景异步任务。我已经定义为一个组件的任务本身。 现在,如果我必须使用属于我发起线程的服务的一些方法。我可以在线程(组件)中自动装载服务,它将起作用。问题是...设计。它带来了一种循环依赖? 我们如何解决这个问题?设计:Spring服务的后台线程

ServiceA->启动ThreadA组件 - > ThreadA需要调用ServiceA中的方法。

回答

0

什么如所描述使用@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()); 
    } 

}