OSGi フレームワークとして Felix を使用し、OSGi コンポーネントを管理するために Felix Dependency Manager を使用しています。コンポーネントの開始メソッドで XML をロードして検証する状況があります。スキーマに対する XML の検証が失敗した場合、バンドルを停止したいと考えています。我々は持っています
- start メソッドで例外をスローしようとしましたが、バンドルは引き続きアクティブになります
start メソッドで Bundle の stop メソッドを呼び出しましたが、これによりバンドルが不安定 (停止中) 状態に設定されます。
FrameworkUtil.getBundle(this.getClass()).stop();
バンドルを停止したままにする必要がある致命的な問題が start メソッドにある場合、この要件を達成する正しい方法は何ですか?