2015-10-04 85 views
0

我使用的Karaf(4.0.1)如春-DM,我試圖啓動幾個春天-DM啓用包(這我不是的作者) 。詢問的OSGi /春-DM框架,以包的依賴性

這些捆綁有這將被Spring-DM注入一些依賴/服務的依賴性和我目前通過履行所有依賴然而工作任務費時費力。

有我目前使用的確定依賴幾個選項:

  1. 檢查包的`META /春」文件夾,內檢查該XML文件。
  2. 安裝捆綁軟件並檢查Karaf日誌中的捆綁失敗消息。

這種方法對我來說效率不高,我想知道是否有辦法可以詢問OSGi框架(在本例中是Karaf)還是Spring-DM本身,並查詢特定軟件包正在等待什麼被履行。

我可以寫一個Karaf命令行命令,讓我這樣做,但我不知道如何去詢問春-DM或Karaf來獲取信息。

有什麼建議嗎?

回答

0

你不應該看春天DM。第一步是確保所有軟件包導入工作正常。最簡單的方法是查看包的清單來安裝或使用bundle:headers。只要安裝了軟件包,就可以使用diag命令來檢查它等待的服務。

+0

如果包是在「瓦亭」狀態,診斷只是報告說,它在等待,但是不知道它在等待。我要麼滾動瀏覽日誌以查看捆綁軟件安裝的時間,並查找「信息」日誌(藍色文本)或等待等待「超時」,即使診斷完畢也沒有報告。爲此我必須檢查日誌。如果我可以通過API調用(如果有的話)簡單地詢問捆綁軟件X在等待的是什麼,那將是一件好事。如果這樣和API存在,我可以創建一個Karaf命令。 – Kerry

+0

一個「等待」狀態,通常表示它正在等待一項服務。類似於標準的GracePeriod。藍圖服務。所以實際上確保所有這些要求都得到滿足。當前的diag命令已經顯示了藍圖包「等待」的內容,所以也可以將它應用於spring-dm包。 –

+0

diag命令中已經支持spring dm狀態事件。 bundle org.apache.karaf.bundle.springstate應該提供這些信息。如果你安裝了這個軟件包,但沒有看到等待的理由,那麼這是一個錯誤。你可以在卡拉夫開個問題嗎?我可以研究它。 –