0

バンドルの開始時と停止時に呼び出されるアノテーション付きメソッドの順序は?

aQute.bnd.annotation の注釈を使用します。

これに関するドキュメントはありますか?

私の推測では、次のとおりです。バンドルの開始時:

  1. セットA
  2. onStartUp (@Activate)

バンドル停止時:

  1. unsetA
  2. onShutdown (@Deactivate)

コンポーネントへのすべてのサービス参照が設定解除された後に呼び出されるメソッドが必要です。これに @Deactivate メソッドを使用できますか?

@Component(immediate=true)
public class AImpl implements A {

    @Activate
    public void onStartUp() {

    }

    @Deactivate
    public void onShutDown() {

    }

}


public class B {


private A a;

@Reference(name = "a", 
    service = A.class,  
    optional = false,
    multiple = false,
    dynamic = true,
    unbind = "unsetA")
    public void setA(A a) {
        this.a = a;
    }

    public void unsetA(A a) {
        this.a = null;
    }

}
4

1 に答える 1