【发布时间】:2015-07-01 11:42:29
【问题描述】:
我有两个包 - bundle-A 导出 bnd.a.* 包和 bundle-B 导入 bnd.a.*;我将这些捆绑包保存在部署文件夹中;它可以工作,但有时bundle-B在bundle-A之前先出现并且失败!有没有办法为部署文件夹中保存的包设置启动顺序?
请注意,我们使用功能的启动级别使其正常工作,但不在部署文件夹中。
【问题讨论】:
标签: osgi apache-karaf
我有两个包 - bundle-A 导出 bnd.a.* 包和 bundle-B 导入 bnd.a.*;我将这些捆绑包保存在部署文件夹中;它可以工作,但有时bundle-B在bundle-A之前先出现并且失败!有没有办法为部署文件夹中保存的包设置启动顺序?
请注意,我们使用功能的启动级别使其正常工作,但不在部署文件夹中。
【问题讨论】:
标签: osgi apache-karaf
不, 因为部署文件夹只是在开发期间部署捆绑包的另一种方式。对于生产来说,最好使用特征描述符。在开发时使用 Karaf 的另一种方法是使用 karaf shell 中的 bundle:watch 命令,它会更新一个包,以防它确实被重新编译。
另一个提示,您永远不应该依赖启动级别,而是尝试确保您的第二个捆绑包导入仅在第一个捆绑包可用时才可用的服务。这将确保您的应用程序更加安全。
【讨论】: