JBoss Fuse指定的服务引用为null

时间:2017-01-04 13:20:43

标签: esb osgi-bundle jbossfuse karaf

我有两个捆绑包,一个是DB相关的,另一个是简单的。数据库包将导出osgi服务引用。另一个将获得服务参考。 一个接一个地安装它工作正常。启动Jboss fuse karaf容器时,服务引用为null。

我可以设置捆绑订购吗?或者我可以设置延迟完成数据库捆绑吗? 我需要在完成数据库捆绑后安装捆绑包。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您必须编写的实际代码取决于捆绑包的启动方式。您是否将Java类用作BundleActivator?弹簧?蓝图?

一般来说,每个包必须指定其依赖关系。有两种依赖关系:

  • 依赖于其他包导出的包中的某些类
  • 依赖于某些其他捆绑包提供的服务

您的bundle应该声明它需要的包和服务(Java接口)。这样你就可以强迫" JBoss / Karaf以正确的顺序启动捆绑包并避免空服务引用。

查看本指南:
https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html-single/Managing_OSGi_Dependencies/index.html