Tutorial OSGi avec Apache Felix - Partie 1
Installation et configuration
Telechargez la derniËre distribution de Felix depuis http://felix.apache.org/site/downloads.cgi
DÈzippez la distribution dans le repertoire du TP
Configurez les variables JAVA_HOME et PATH
set FELIX_VER=4.0.2 set FELIX_HOME=felix-framework-%FELIX_VER% set JAVA_HOME=c:\Progra~1\Java\jre6 set PATH=%JAVA_HOME%\bin;%PATH% java -version
creez les repertoires dans %FELIX_HOME%
mkdir %FELIX_HOME%\load mkdir %FELIX_HOME%\repository copy repository\*.* %FELIX_HOME%\repository copy run.bat %FELIX_HOME%
le fichier run.bat permet de lancer Felix avec le proxy HTTP configurÈ avec celui de l'UJF (www-cache.ujf-grenoble.fr:3128)
Positionnez
cd %FELIX_HOME%
Préparation pour HTTP Service
Plus loin dans le TP, le service HTTP sera installé est devra utiliser un port réseau, par défaut 8080.
Si ce port est déjà occupé par une autre application (tester avec un navigateur: http://localhost:8080/), il faut modifier le fichier
conf/config.properties
dans le dossier
%FELIX_HOME%
.
À la fin du fichier, remplacer la ligne
org.osgi.service.http.port=8080
par
org.osgi.service.http.port=<numéro de port> org.apache.felix.http.jettyEnabled=true
Lancement de Felix
Si le proxy campus est actif:
run.bat
Sinon:
java -jar bin/felix.jar
Premières commandes
Depuis le shell Gogo de Felix
help lb headers inspect capability osgi.wiring.package 0 inspect requirement osgi.wiring.package 0 inspect capability service 0 inspect requirement service 0 inspect c osgi.wiring.package 1 inspect r osgi.wiring.package 1 inspect c service 1 inspect r service 1 obr:deploy -s "Apache Felix Log Service" help log log debug log info log warn log error
Deploiement de bundles
install file:./repository/org.apache.felix.sandbox.mbean.shell.gogo-0.4.0.jar lb start 5 inspect c osgi.wiring.package 5 inspect r osgi.wiring.package 5 inspect c service 5 inspect r service 5 update 5 log debug install http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.http.jetty/1.0.1/org.apache.felix.http.jetty-1.0.1.jar log 1 lb start 6 uninstall 6
que se passe t'il et pourquoi ?
Changement du niveau d'execution
lb help bundlelevel bundlelevel <OBR' bundle Id> frameworklevel bundlelevel -s 2 <OBR' bundle Id> log debug obr:list
que s'est il passÈ ?
frameworklevel 2 log debug lb obr:list
que s'est il passÈ ?
Deployez et lancez la Web console via l'OBR
Qu'est que l'OBR (OSGi Bundle Repository) ?
obr:help obr:list obr:info "org.apache.felix.webconsole" obr:deploy -s "org.apache.felix.webconsole" lb obr:deploy -s "org.apache.felix.webconsole" "Apache Felix Web Console Event Plugin" "Apache Felix Web Console Memory Usage Plugin" "Apache Felix Web Console Service Diagnostics Plugin" lb obr:deploy -s "Apache Felix Web Console UPnP Plugin" (peux échouer)
Combien de bundles ont été déployés (installés et démarrés) ?
naviguez http://localhost:8080/system/console depuis votre browser (username et password : admin et admin)
Deployez File Install soit depuis la web console onglet "OSGi repository" soit avec la commande
obr:deploy -s "Apache Felix File Install"
FileInstall
Deployez des bundles via FileInstall en copiant les jarfiles des bundles du répertoire .\repository vers .\load depuis un terminal
Sous Windows:
copy .\repository\org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar .\load
Sous Linux:
copy ./repository/org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar ./load
Que s'est il passé ? (faire lb puis log 4)
Supprimez le JAR file.
Sous Windows:
del .\load\org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar
Sous Linux:
rm ./load/org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar
Que s'est il passé ? (faire lb puis log 4)