Apache ServiceMix sert de conteneur pour l’ESB Fuse. Cet ESB se base sur JBI, Camel et ActiveMQ notamment. Cependant, il est possible de déployer un war tout ce qu’il y a de plus classique et de se servir de Fuse comme d’un conteneur de servlet.

En préalable, il faut installer Fuse avec quelques composants.

Pour se faire, il faut créer notre WebApp avec WTP d’Eclipse (comme si on voulait utiliser Tomcat). Enfin, il faut ajouter un fichier Manifest particulier dans /WebContent/META-INF contenant les lignes suivantes :

[codesyntax lang= »apache »]

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: LogViewer
Bundle-Version: 2
Bundle-ClassPath: .,WEB-INF/classes/, WEB-INF/lib/commons-codec-1.3.jar, 
                         WEB-INF/lib/commons-lang-2.4.jar, 
                         WEB-INF/lib/commons-logging-1.0.4.jar, 
                         WEB-INF/lib/java_memcached-release_2.0.1.jar, 
                         WEB-INF/lib/jstl.jar, WEB-INF/lib/log4j-1.2.14.jar, 
                         WEB-INF/lib/log4j-over-slf4j-1.6.1.jar, WEB-INF/lib/log4j.jar, 
                         WEB-INF/lib/quartz-all-1.8.4.jar, 
                         WEB-INF/lib/slf4j-api-1.6.1.jar, 
                         WEB-INF/lib/slf4j-ext-1.6.1.jar, 
                         WEB-INF/lib/slf4j-nop-1.6.1.jar, 
                         WEB-INF/lib/standard.jar
Import-Package: javax.servlet, javax.servlet.http, 
                javax.servlet.jsp, javax.servlet.jsp.tagext
Bundle-Name: Odeon-Fuse-LogViewer :: Permet de visualiser les logs
Webapp-Context: LogViewer

[/codesyntax]


Attention, les directives Bundle-ClassPath et Import-Package doivent tenir sur une seule ligne (sans  » « ). Plus d’informations sur ops4j.

Enfin, dans un build.xml, vous pouvez construire votre War ainsi :

[codesyntax lang= »xml »]


    

[/codesyntax]

Partager c'est la vie

Leave a Comment