访问OSGi包中的Spring上下文

我有一个Osgi包,它使用bundle-context.xml文件来初始化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的句柄的正确方法是什么?

最佳答案
我想是Spring Dynamic Modules加载你的上下文 – 所以你不应该为自己做这个.看看Spring DM documentation – 这将是有用的.

Spring DM将应用程序上下文发布为Osgi服务.看一下here的说明并按照建议进行操作.

另见下面的评论.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...