blueprint里面自定义namespace后,如何获取调用者的bundle
bundle 1里面有如下代码
public class PpNamespaceHandler implements NamespaceHandler { public ComponentMetadata decorate(Node node, ComponentMetadata cm, ParserContext context) { return null; } public Set<Class> getManagedClasses() { return new HashSet<Class>(Arrays.asList(PpNamespaceHandler.class)); } public URL getSchemaLocation(String schema) { return this.getClass().getClassLoader().getResource("schema/pp.xsd"); } public Metadata parse(Element element, ParserContext context) { return null; } }
<service interface="org.apache.aries.blueprint.NamespaceHandler"> <service-properties> <entry key="osgi.service.blueprint.namespace" value="http://pp.isoft.com/config" /> </service-properties> <bean class="com.lala.osc.api.PpNamespaceHandler" /> </service>
blueprint.xml
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:my="http://pp.isoft.com/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> <my:property></my:property> </blueprint>
http://pp.isoft.com/config
这个命名空间,就会触发bundle 1的 PpNamespaceHandler 类的方法的执行
请问,如何在bundle 1 里面的PpNamespaceHandler里面获取到的是哪个bundle配置(引用)了那个命名空间
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
http://blog.csdn.net/mn960mn/article/details/49680369