bundle-context.xml ファイルを使用して Bean を初期化する OSGi バンドルがあります。
<bean id="myBean" class="test.MyClass">
<property name="output" value="test"/>
</bean>
Bean インスタンスを取得する必要があるファクトリ クラスがあります。非 OSGI の世界では、コンテキストを初期化し、Bean へのハンドルを取得するために、常に次のようにしています...
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bundle-context.xml");
MyClass bean = (MyClass) applicationContext.getBean("myBean");
ただし、OSGI (FuseESB 4.2、Servicemix4) では、コンテナーが bundle-context.xml ファイルを自動的に読み込み、Spring コンテキストを初期化します。(上記のコードを使用して) コンテキストを明示的に読み込むと、2 つのコンテキストが作成されます (これは悪いことです)。では、同じコンテキスト/Bean へのハンドルを取得する適切な方法は何ですか?