Una delle principali caratteristiche di Karaf, è la possibilità di installare i componenti mediante un descrittore denominato feature.xml
. Di solito una feature rappresenta un applicativo costituito da un determinato numero di moduli. Mediante una feature è possibile definire la lista di tutti i moduli da installare. L'esempio seguente permetterà di chiarire meglio il concetto appena espresso:
mvn:com.mycompany.myproject/myproject-dao
mvn:com.mycompany.myproject/myproject-service
Quando un descrittore feature.xml
viene dato in pasto al container, tutti i moduli definiti vengono scaricati ed installati. Nel caso specifico, i comandi principali per gestire le feature sono i seguenti:
feature:list
Tale commando permette di visualizzare le feature disponibili all’interno del container ed il relativo stato. Una feature è in pratica un insieme di bundle.
karaf@root()> feature:list
Il precedente comando restituirà un seguente sul modello di quello raffigurato nell'immagine proposta di seguito:
feature:info "feature-name"
In questo caso parliamo di un che comando permette di visualizzare il dettaglio di ciascuna feature, la descrizione e l’elenco dei bundle che la compongono.
karaf@root()> feature:info webconsole
Passando ad esso un parametro come quello utilizzato nell'istruzione precedente, webconsole
, sarà possibile ottenere un output come il seguente:
feature:install
Quest'ultimo commando permette invece di installare una delle feature disponibili. Nell’esempio mostrato di seguito installiamo la webconsole
, cioè una delle principali feature disponibili nel pacchetto base di Karaf. Tale feature contiene i moduli disponibili per abilitare la console di amministrazione Web che verrà introdotta nel prossimo paragrafo.
karaf@root()> feature:install webconsole
karaf@root()> feature:list | grep webconsole
All'interno dell'istruzione appena lanciata è possibile notare l'impiego del comando feature:list
precedentemente citato.