Tutorial OSGi avec Apache Karaf

Ce tutoriel OSGi a pour objectif de présenter des fonctionnalités avancés d'une plateforme OSGi.

Il complète le Tutorial OSGi avec Apache Felix.

Il est réalisé avec Apache Karaf 2.3.0. (NB: les versions des bundles et plateformes évoluent au cours du temps : les manipulations ne sont nécessairement pas idempotentes).

=Installation et démarrage=

Téléchargez la distribution binaire d'Apache Karaf

Dans un shell, exécutez bin/karaf

=Premières Commandes= echo Liste les bundles déployés list list -t 0

echo Liste les services publiés ls

echo Liste les entrées du journal ld -n 10

=URL Handlers=

Maven
Cet URL Handler permet de déployer des bundles OSGi archivés dans le dépôt central des artéfactes Maven. Les bundles de Felix sont listés ici : http://mvnrepository.com/artifact/org.apache.felix

install -s mvn:org.apache.felix/org.apache.felix.upnp.extra/0.4.0 install -s mvn:org.apache.felix/org.apache.felix.upnp.basedriver/0.8.0 install -s mvn:org.apache.felix/org.apache.felix.upnp.tester/0.4.0

Que se passe t'il ?

obr:start "Apache Felix UPnP Base Driver" obr:start "Apache Felix UPnP Tester"

War
=Console Web= Déployez la webconsole features:install -v webconsole Ouvrez la page http://localhost:8181/system/console dans un navigateur (username karaf and password karaf)

Déployez le plugin webconsole pour iPOJO install -s http://apache.opensourcemirror.com//felix/org.apache.felix.ipojo.webconsole-1.6.0.jar



=SSH=

=Déploiement (Provisionning)=

Features
Copiez le fichier [[Media:ipojo-features.xml]] dans le répertoire ./features dans l'installation de Karaf. Ce fichier suit le [karaf.apache.org/xmlns/features/v1.0.0 schéma].

features:list features:addUrl file:features/ipojo-features.xml features:info ipojo features:install ipojo

OBR
features:install obr obr:listurl obr:addurl http://felix.apache.org/obr/releases.xml obr:list obr:list iPOJO obr:start "Apache Felix iPOJO"

=Configuration= config:list config:proplist -p org.apache.karaf.shell

config:edit org.apache.karaf.shell config:propset sshPort 8102 config:update --bypass-storage

config:edit org.apache.karaf.shell config:propset sshPort 8103 config:cancel

config:edit org.apache.karaf.shell config:propset sshPort 8101 config:update --bypass-storage

Exercice: Changez la configuration pour servir la web console sur le port 9090. Son pid est org.ops4j.pax.web et la propriété est org.osgi.service.http.port

=JMX= Lancez jconsole ou jvisualvm (NB: le plugin MBeans n'est pas pré-installé dans la VisualVM : installez le depuis le gestionnaire de plugins).

Parcourez les MBeans



=Gestion d'instances=