Osgi Fuse ESB结构功能包加载顺序

Osgi Fuse ESB结构功能包加载顺序,osgi,esb,fuseesb,fusefabric,Osgi,Esb,Fuseesb,Fusefabric,有没有一种方法可以控制fuse-esb结构特性中OSGi包的加载顺序,从而使后面的包依赖于前面包的完整加载?例如,在以下功能中,我希望简单客户端模块仅在前一个捆绑包完全加载后启动: <features name="simple-service-features"> <feature> <bundle>mvn:com.company/simple-datasource/0.0.0</bundle> <bu

有没有一种方法可以控制fuse-esb结构特性中OSGi包的加载顺序,从而使后面的包依赖于前面包的完整加载?例如,在以下功能中,我希望简单客户端模块仅在前一个捆绑包完全加载后启动:

  <features name="simple-service-features">
    <feature>
       <bundle>mvn:com.company/simple-datasource/0.0.0</bundle>
       <bundle>mvn:com.company/simple-model/0.0.0</bundle>
       <bundle>mvn:com.company/simple-service/0.0.0</bundle
       <bundle>mvn:com.company/simple-client/0.0.0</bundle>
    </feature>
  </features>

mvn:com.company/simple datasource/0.0.0
mvn:com.company/simple model/0.0.0

mvn:com.company/simple service/0.0.0您可以在features.xml中使用bundle标记的属性start level对OSGI bundle开始进行排序


开始级别与每个捆绑包相关联。开始级别是一个正整数值,用于控制捆绑包的激活/启动顺序。启动级别低的捆绑包在启动级别高的捆绑包之前启动。因此,启动级别为1的bundle首先启动,属于内核的bundle的启动级别往往较低,因为它们为运行大多数其他bundle提供了先决条件。

我不知道Fuse ESB如何管理其bundle加载,然而,从OSGi的角度来看,正确的方法是总是在启动任何捆绑包之前安装所有捆绑包。如果您这样做,那么安装顺序就无关紧要了。是否有一些钩子告诉我们何时初始化所有捆绑包?OSGi无法告诉您,因为它不知道您打算安装多少捆绑包。您的启动器或管理代理将知道何时完成安装。