如何在OSGi中使用多值(数组)属性?

时间:2016-02-09 16:56:49

标签: osgi aem cq5 apache-felix

我有以下服务:

@Component(
        immediate = true,
        metatype = true)
@Service
@Property(name = EventConstants.EVENT_TOPIC, value = {ReplicationAction.EVENT_TOPIC})
public class MyService implements EventHandler {

    @Property
    private static final String MULTI_PROPERTY = "config.multiproperty";

    ........
    //another implementation
    ........
}

我想MULTI_PROPERTY作为数组值,有可能使用像图像上的一组值:

enter image description here

如何实施?

1 个答案:

答案 0 :(得分:7)

使用SharedServices.TestService.fooMethod()属性指定多值属性,并使用unbounded属性来限制条目数。

cardinality

为了阅读属性数组,您可以使用 @Property(unbounded = PropertyUnbounded.ARRAY, cardinality=10, label = "Some Label") private static final String MULTI_PROPERTY = "config.multiproperty";

#toStringArray()方法
PropertiesUtil