我有一个springboot应用程序,我在类(服务)之间有下面提到的关系。
我遇到了这个问题,其中C类中的方法不是与下面提到的依赖异步执行的。但是当我在B类中注释掉@Autowired private C c
行,并在A类中调用asyncMethod()
时,它会在异步中执行。有人可以解释一下为什么会发生这种情况,它是否具有循环依赖性?
没有错误或警告,只是没有按预期异步执行。
@Service
Class A{
@Autowired
private B b;
@Autowired
private C c;
public void callMethod(){
c.asyncMethod(); //expect to be async execution, but it is sync execution
}
}
@Service
Class B{
@Autowired
private C c;
}
@Service
Class C{
@Async
public void asyncMethod(){
//do something
}
}