2013-05-05 72 views
0

我想要在我的包更新,卸載或新建時執行腳本。osgi藍圖捕獲事件更新

我使用actualy的destroy方法和init方法,但我現在不會現在如果我的包只是「停止」或「刪除」。

<bean id="plugin" class="com.toto.OrderPlugin" destroy-method="remove" init-method="install"> 

的樣品,爲什麼我要趕事件 當我的包是更新:

  1. 我想知道舊版本和新版本,並在條件 執行腳本,如果我的包是卸載:
  2. 我想刪除確定年代 如果我的包是新
  3. 我想創建確定年代

做這種類型的過程的正確方法是什麼?你可以給我一個例子嗎?

謝謝

回答

1

那麼在那種情況下,我會去一個性病。激活。跳過使用blueprint xml並使用Bundle-Activator來代替,這樣您就可以完全控制您的包的啓動行爲。

+0

謝謝Achim,我可以用BundleActivator做,但我想用藍圖做同樣的過程,沒有辦法用藍圖製作。藍圖不知道捆綁的狀態? – timactive 2013-05-06 07:20:22

+0

以及藍圖擴展器開始使用的時間,捆綁包已經處於活動狀態:-) 您可以嘗試使用init和destroy方法,該方法也可以。對於初始化它被稱爲:init-method – 2013-05-06 07:21:27

+0

但是init方法的問題,我不知道我的捆綁軟件是安裝還是簡單地activate.i想知道如果更新來檢查舊版本和新版本。 – timactive 2013-05-06 07:49:53