EDITを設置しています。 OSGiは「状態変化が進行中...」と応答しますが、他の要求を受け入れることで問題が発生します。OSGiのは、アンインストール作業を備えていますが、バンドルがまだ
不思議なことに、機能のアンインストールは成功しますが、バンドルのアンインストールは失敗します。私たちは、アンインストール要求を適切に発注し、ステップ間に遅延を追加することでこれに対処していますが、より堅牢なソリューションが望まれます。
提案したように、私はまた、ステップの間に "osgi:refresh"を追加しようとしました...同じ動作です。後続のリクエストなどを遅らせるために「リフレッシュパッケージ」がまだ実行中であることを検出する別の方法はありますか?
ここは詳細...
karaf @ルート>機能は次のとおりです。PolicyUtil
karafの@ルート>機能をアンインストール:POLICY1
karaf @ルート>機能をアンインストールのための:進行中のPolicy2の
状態変化をアンインストールしますスレッド "Refresh Packages"による "file:/policy2.jar"のバンドル
karaf @ root> features:uninstall Policy3
バンドル "file:/policy3.jar"の状態が "Refresh Packages"スレッドによって変更されています。
karaf @ルート>機能:Policy4
karaf @ルート>機能をアンインストール:スレッド "更新パッケージ" による:バンドル "/enabler1.jarファイル" のために進行中のEnabler1
状態変化をアンインストールします。
karaf @ root> features:uninstall Enabler2
バンドル "file:/enabler2.jar"の状態が "Refresh Packages"スレッドによって変更されています。リスト
[277] [インストール] [] [] [60]:
その後...(間違った)
のOSGiを我々はアンインストール機能(正しい)で終わるが、一部のバンドルがまだインストールpolicy2の
[278] [インストール] [] [] [60] policy3の
[280] [インストール] [] [] [60] Enabler1
[281] [インストール] [] [] [60] Enabler2
機能:リスト
[アンインストール] [1.0] PolicyUtilレポ0
[アンインストール] [1.0]ポリシー1レポ0
[アンインストール] [1.0] Policy2のレポ0
[アンインストール] [1.0] policy3のレポ - 0
[アンインストール] [1.0] Enabler1レポ-0
[アンインストール] [1.0] Enabler2レポ-0
おかげで、私はACEを見て、あなたの他の提案をしてみてください... –
よ私は、OSGiを見て:リフレッシュし、このプロセスはバックグラウンドスレッドを使用しています...私は、パッケージを更新し、裏面のみ対応するための同期バージョンが必要です完了したら... –