Que*_*ing 4 java spring osgi spring-dm
我有一个应用程序,我必须使用Spring根据OSGi包中的一些业务条件加载bean.这个bean不用于导出,用于计算inisde我的包.基本上我有一个实际的服务组件,它被导出,并且它必须在内部使用这个Spring bean.但...
有没有办法做到这一点?
Rob*_*bin 11
您不需要Spring DM来完成您想要完成的任务.
听起来你想要做的事实上是提供对你的bundle内部的上下文的访问,并让一些类通过ctx.getBean()进行查找.如果是这种情况,只需手动创建捆绑中的上下文,就像您没有在OSGi中进行调用一样.根本没有涉及Spring DM.
这里的一个问题是你必须扩展ClassPathXmlApplicationContext来提供bundle类加载器,否则它将使用线程上下文类加载器.
ApplicationContext ctx = new ClassPathXmlApplicationContext(myCtxPath)
{
protected void initBeanDefinitionReader(XmlBeanDefinitionReader reader)
{
super.initBeanDefinitionReader(reader);
reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_NONE);
reader.setBeanClassLoader(getClassLoader());
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4913 次 |
最近记录: |