доступ к контексту Spring в пакете OSGi

У меня есть пакет OSGi, который использует файл bundle-context.xml для инициализации bean-компонента.

<bean id="myBean" class="test.MyClass">
    <property name="output" value="test"/>
</bean>

У меня есть фабричный класс, которому нужно получить экземпляр компонента. В мире, не относящемся к OSGI, для инициализации контекста и получения дескриптора bean-компонента я всегда использую следующее ...

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bundle-context.xml");
MyClass bean = (MyClass) applicationContext.getBean("myBean");

Но в OSGI (FuseESB 4.2, Servicemix4) контейнер автоматически загружает контекст пакета .xml и инициализирует контекст Spring. Если я загружаю контекст явно (используя приведенный выше код), то создается 2 контекста (что плохо). Итак, каков правильный способ получить дескриптор того же контекста / компонента?

5
задан рüффп 29 September 2018 в 00:01
поделиться