2016-02-09 19 views
5

Aşağıdaki hizmeti:OSGi'de çoklu değer (dizi) özelliği nasıl kullanılır?

@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 
    ........ 
} 

ben resmin üzerine gibi değerler kümesi kullanmasının mümkün olması, dizi değeri olarak olmak MULTI_PROPERTY istiyorum:

enter image description here

bunu nasıl uygulanır ?

cevap

5

Kullanım unbounded özellik birden çok değerli özelliğini belirtmek ve giriş sayısını kısıtlamak için cardinality özelliğini kullanmak.

özelliği dizisini okumak için
@Property(unbounded = PropertyUnbounded.ARRAY, cardinality=10, label = "Some Label") 
private static final String MULTI_PROPERTY = "config.multiproperty"; 

Eğer PropertiesUtil

PropertiesUtil.toStringArray(properties.get(MULTI_PROPERTY)); 
ait #toStringArray() yöntemi kullanabilirsiniz