blueprint里面如何获取整个容器里面的所有camelContext

孤好梦中X人 发布于 2015/09/18 11:35
阅读 761
收藏 0

如何拿到整个blueprint容器(karaf)的所有(所有bundle的)camelContext

BlueprintContainer.getComponentIds()这个拿不到其他bundle的camelContext,

只能拿到自己bundle的所有camelContext

PS : 

比如说:我向karaf的deploy目录仍了一个blueprint-restlet-config.xml

内容如下

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xmlns:camel-cxf="http://camel.apache.org/schema/blueprint/cxf"
           xmlns:cxfcore="http://cxf.apache.org/blueprint/core"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           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 
		   http://aries.apache.org/xmlns/jpa/v1.1.0 http://aries.apache.org/schemas/jpa/jpa_110.xsd 
		   http://aries.apache.org/xmlns/transactions/v1.0.0 http://aries.apache.org/schemas/transaction/transactionv10.xsd
		   http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd 
		   http://camel.apache.org/schema/blueprint/cxf http://camel.apache.org/schema/blueprint/cxf/camel-cxf.xsd
		   http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd">
    
	<camelContext id="restletCamelContext" xmlns="http://camel.apache.org/schema/blueprint">
		
		<restConfiguration port="6633" component="restlet" bindingMode="auto"/>
		
	</camelContext>
	
</blueprint>


然后,我再另外一个bundle里面却获取不到这个camelContext

请问,这个怎么破

加载中
0
孤好梦中X人
孤好梦中X人
按理说,我已经拿到了 BlueprintContainer(blueprint的容器了),就应该可以拿到容器里面的所有东西了,但是,为啥还是不行
-寒武纪-
-寒武纪-
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
-寒武纪-
-寒武纪-
好像拿不到吧,我也不熟悉
0
开源JXADF
开源JXADF

最成熟的开源企业级OSGi快速开发平台JXADF,http://osgi.jxtech.net

0
m
minikiller
可以查看一下camel-swagger-java这个组件的源码,我看到过里面的实现,可以获得整个的camelContext。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部