Come leggere le configurazioni OSGi non legate al codice del componente

Come leggere le configurazioni OSGi che non sono legate al componente di esecuzione.

Ambiente

Passaggi

L'approccio consigliato per la lettura delle varie configurazioni di OSGi è quello di utilizzare il ConfigurationAdmin [1], e non cercare i file di configurazione nella propria applicazione. Vedi il codice di esempio qui [2].

[1] https://osgi.org/javadoc/r4v42/org/osgi/service/cm/ConfigurationAdmin.html
[2] http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html

Il ConfigurationAdmin è un servizio OSGi e può essere ottenuto tramite annotazione SCR nel proprio codice componente OSGi.  Esempio qui (org.sample.PrettyPrinterConfigurator è il PID della configurazione):

@Reference
ConfigurationAdmin configAdmin;

@Activate
public void activate(ComponentContext componentContext) {
  Configuration config = configurationAdmin.getConfiguration(
    "org.sample.PrettyPrinterConfigurator");
  Dictionary props = config.getProperties();
}
Logo Adobe

Accedi al tuo account