0
以何種順序在bundle開始和結束時調用帶註釋的方法?DS組件的生命週期如何工作?
我使用aQute.bnd.annotation的註釋。
有沒有關於此的任何文檔?
我的猜測是,它是: 上捆綁的開始:
- 組A
- onStartUp(@Activate)
上束停止:
- unsetA
- 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;
}
}