Karaf OSGI Bundles 在启动时关闭

Karaf OSGI Bundles Closing on Startup

我在使用 karaf/osgi 时遇到问题,当我尝试启动 karaf 时,我的一些功能会循环启动和关闭。这是一个日志示例:

2017-09-05 15:46:03,344 | INFO  | rint Extender: 1 | L3vpnProvider                    | 224 - l3vpn-feature-impl - 0.1.0.SNAPSHOT | L3vpnProvider Session Initiated
2017-09-05 15:46:03,346 | INFO  | rint Extender: 2 | L3vpnDataChangeListenerSR        | 171 - org.temp.l3vpn-impl - 0.1.0.SNAPSHOT | Service Request Data Listener created
2017-09-05 15:46:03,349 | INFO  | ntAdminThread #7 | BlueprintBundleTracker           | 144 - org.opendaylight.controller.blueprint - 0.5.3.Boron-SR3 | Blueprint container for bundle org.temp.l3vpn-feature-impl_0.1.0.SNAPSHOT [224] was successfully created
2017-09-05 15:46:03,353 | INFO  | Thread-193       | L3vpnProvider                    | 224 -l3vpn-feature-impl - 0.1.0.SNAPSHOT | L3vpnProvider Closed

它确实在循环并且不会停止。我找到的唯一解决方案是不断重建,直到顺利开始。

feature.xml 文件中的功能向您展示了它的设置方式。

<feature name='odl-l3vpn-feature-impl' version='${project.version}' description='OpenDaylight :: l3vpn :: Network Model :: Impl'>
    <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
    <feature version='${project.version}'>odl-l3vpn-network-model</feature>
    <feature version='${project.version}'>odl-l3vpn</feature>
    <bundle>mvn:org.temp/l3vpn-nc-impl/{{VERSION}}</bundle>
    <lots of other bundles being wrapped>
</feature>

还有一个附加功能,但它具有非常相似的结构,因此除非需要,否则我不会提出来。

对于可能导致这种情况发生的原因,我感到很茫然。有什么想法吗?

我已经尝试做的是让 odl-mdsal-broker 有一个先决条件或依赖元素设置为 true 以确保过早启动捆绑包没有问题,但没有运气.任何帮助将不胜感激。

对于可能遇到相同问题的任何人。这是因为启动错误,蓝图 xml 中的两个功能具有相同的配置文件,因此在启动时它们会感到困惑,从而导致启动循环。重命名其中一个配置文件并在 blueprint.xml 中更新后,问题就解决了。