2012-01-04 10 views
0
@Bean 
public EventHandler eventHandler(){ 
    EventHandler handler= new EventHandler(session()); 
    session().registerEventListener(handler); 
    return handler; 
} 

    public class EventHandler implements EventListener{ 
     @Override 
     @Async 
     public void notify(Event event) { 
        //do work 
     } 
    } 

私は非同期ハンドラを作成し、それを登録しようとしている... doesntのは、私はそれが豆後に豆の周りにプロキシオブジェクトを作成した後、春は唯一の非同期ラッパーを作成します信じるように動作するように見えますどのように私はこれを回避するのですか?春非同期リファレンス

答えて

0

@Asyncで@Overrideメソッドを呼び出すことができなかった同様の問題がありました。これは常に同期的に呼び出されます。 私の回避策は、@Overrideインタフェースを介して呼び出していたBeanにコールを転送するための直接(非@オーバーライド)インタフェースを持つ別の@Service Beanを宣言することでした。 私は、プロキシが基本クラス呼び出しではうまくいかないと考えています。