Tutorial OSGi avec Apache Felix - Partie 1

From air
Jump to navigation Jump to search

Revenir au sommaire


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)