2016-04-05 14 views
0

これは私のBeanです:なぜ@Asyncアノテーションが循環参照の問題を引き起こすのですか?

@Service 
public class MyService{ 

    @Autowire 
    private OtherService service; 

    @Async 
    public jobAync(){ 
     job(); 
    } 
    public job(){ 
     ... 
    } 
} 

jobAyncに@Async注釈は、私が注釈すべてが動作することを削除した場合、私はautowiresで問題を見つけることを期待...、春への循環参照問題を引き起こすがいるようだ、なぜ私が理解できません@Asyncにリンクする。

答えて

0

それが最善の解決策であるかどうかは知らないが、私は2つの異なるサービス、主なものと非同期1で解決:

@Service 
public class MyService{ 

    @Autowire 
    private OtherService service; 

    public job(){ 
     ... 
    } 
} 

@Service 
public class MyServiceAsync{ 

    @Autowire 
    private MyService myService; 

    @Async 
    public job(){ 
     myService.job(); 
    } 
} 
関連する問題