阻止启动OSGi服务直到属性​​出现

时间:2014-09-24 02:21:03

标签: osgi apache-karaf blueprint-osgi karaf

假设我有一个只包含以下类的包:

class FullName {

  String firstName
  String lastName

  public FullName (String firstName, String lastName){
     this.firstName = firstName;
     this.lastName = lastName;
  }
}

我将通过使用以下蓝图配置创建类FullName的对象来实例化此服务:

<cm:property-placeholder persistent-id="FullNameApp" update-strategy="reload" >
<!-- No default properties -->
</cm:property-placeholder>

<bean id="full-name" class="org.mypackage.FullName">
  <argument value="${first.name}" />
  <argument value="${last.name}" />
</bean>

我正在使用Karaf 3.0。 $ KARAF_HOME / etc / FullNameApp.cfg也不存在这些属性。如何在这些属性出现之前,如何永久地启动此捆绑块?

1 个答案:

答案 0 :(得分:1)

我认为蓝图中没有一个很好的解决方案。如果需要支持,可能需要查看声明性服务。