在Karaf中,有没有办法控制kar文件加载的顺序?关于跨kar文件依赖性

时间:2013-03-29 03:18:50

标签: java osgi apache-felix apache-karaf osgi-bundle

它出现在karaf中,如果kar文件A具有依赖于kar文件B中的特征的特征,并且kar文件A在B之前加载,则kar文件A中的特征的安装将失败,表示存在未解决的依赖。

捆绑启动等级似乎没有什么区别。

有没有办法控制哪个kar文件首先加载?或者解决跨卡尔依赖关系的方法?甚至还有一种方法可以让karaf在所有加载kar文件之前不尝试安装任何捆绑/功能?

2 个答案:

答案 0 :(得分:1)

据我所知,现在不可能,因为KAR部署者认为KAR文件是完整的。如果您需要这样的依赖项,我建议使用plain features.xml文件。

答案 1 :(得分:0)

我不确定你是否回答了你的问题。但是可以使用bundle-start级别标记在Apache Karaf中控制bundle加载的顺序。

e.g。

<?xml version="1.0" encoding="UTF-8" ?> 
<features name="cxl_esb_features">
<feature name="cxl_camel_routes">
  <feature>camel-jms</feature> 
  <bundle start-level="81">mvn:org.apache.commons/com.springsource.org.apache.commons.collections/3.2.1</bundle> 
  <bundle start-level="82">mvn:org.apache.commons/com.springsource.org.apache.commons.lang/2.6.0</bundle> 
 </feature>
</features>