1
我在我的項目中使用OSGi組件工廠概念,它按預期工作。請查找我已完成的步驟。OSGi組件工廠雖然karaf實例被殺死,但對象被創建兩次
步驟:
登錄到使用ssh命令[因爲它不是根用戶所以我在karaf創建的實例] karaf。
已執行scr:list。它顯示我已部署的服務。因爲我已經使用了組件工廠對象,所以OSGi框架 創建並按預期工作。
- 使用「shutdown」命令關閉karaf。
- 使用ssh命令再次登錄到karaf。
- 執行scr:list後,對象被複制。即對象正在創建一次,並顯示兩次。
當關閉karaf被停止時,停用方法被調用並且相應的java進程被終止。 一旦我再次啓動karaf進程,就會創建一個新進程[我通過檢查java進程的PID來驗證它。 我提出這個問題的原因如下
- 因爲我使用組件工廠內存管理應該會自動處理。即 如果我關閉karaf實例對象應該被釋放並獲取垃圾回收。
- 雖然我的應用程序設計不佳,但在關閉java進程scr:list之後,應該不會顯示兩次對象。即java進程關閉後 相應的內存應該被清除。最終它不應該影響新創建的進程。
環境:RHEL 6.5
Apache的karaf:3.0.3
JRE:1.7-U 79
謝謝基督徒!抱歉,我無法理解您提到的默認配置。另外如果可能的話,請你分享我的錯誤細節,以便我可以更新到更高版本的卡拉夫。 – Shriram
當然,我們正在使用一個功能文件來安裝我們的軟件包。 – Shriram