Difference between revisions of "Tutorial OSGi avec Apache Felix - Partie 1"

From air
Jump to navigation Jump to search
Line 96: Line 96:
 
=Deploiement de bundles=
 
=Deploiement de bundles=
 
<pre>
 
<pre>
install file:./repository/org.apache.felix.sandbox.mbean.shell.felix.gogo-0.4.0.jar
+
install file:./repository/org.apache.felix.sandbox.mbean.shell.gogo-0.4.0.jar
 
lb
 
lb
 
start 5
 
start 5

Revision as of 10:35, 19 April 2013

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%


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È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)