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%
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.felix.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 -start "Apache Felix File Install"
FileInstall
Deployez des bundles via FileInstall en copiant les jarfiles des bundles du rÈpertoires .\repertoire vers .\load depuis un cmd DOS copy .\repository\org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar .\load Que s'est il passÈ ? (faire lb puis log 4)
del .\load\org.apache.felix.examples.managedservice-0.1.0-SNAPSHOT.jar Que s'est il passÈ ? (faire lb puis log 4)