Bonjour à tous.
Je travaille à ce jour sur la mise en place d'une plateforme OSGI-Camel.
J'ai déjà évalué plusieurs produits comme servicemix, fuseEsb, etc.
Dans la doc de Camel, lorsqu’il s'agit d'OSGI on est renvoyé vers servicemix.
J'utilise fuse, et aucun problème à signaler.
Devant déployer un grand nombre de composants Camel ayant beaucoup de choses en commun j'ai un ensemble de bundles que je partage entre tous ces composants.
Du coup en terme de déploiement de la plateforme j'évalue la possibilité de faire ma propre distribution contenant tous ces éléments.
Je suis parti de fuse. Mais ne voulant pas écarter d'autres approches trop vite, j'ai aussi fait un projet à partir de servicemix, et un autre à partir du code source de servicemix.
Rapidement, je me suis aperçu que ces projets embarquaient beaucoup d'éléments dont je n'ai pas besoin.
Étant dans l'optique de faire une distribution personnalisée, je donc repris tout ça à partir de zéro. Au lieu de partir d'une distribution servicemix, fuse ou autre, je ne suis parti de rien.
J'ai construit un assemblage de Karaf personnalisé qui pour le moment embarque Karaf, les outils d'admin, jaas, orb, camel-blueprint, et activemq.
Pour le moment ça marche plutôt bien. Par rapport à servicemix, je n'ai pas des choses que je n'utilise pas du tout comme nmr, jbi, ...
Bref je m’oriente vers une plateforme ultra light (en rapport à servicemix-minimal).
Parmi vous, y en a-t-il certains qui ont essayé de faire une "karaf custom distribution" ?
Personellement je suis partit de la doc de Karaf qui est pleinne d'erreurs sur ce point.
Dans le pon la doc définie une propriété
<karaf.version>2.2.2</karaf.version>
qui n'est pas utilisé du coup il à des incohérences.
les chemins son donné en absolut
/x1/asf/kar227/manual/src/main/filtered-resources
à la place de
src/main/filtered-resources
le featrues descriptor donné n'existe pas
<descriptor>mvn:org.apache.karaf/apache-karaf/2.2.7/xml/features</descriptor>
il faut utiliser
1 2
| <descriptor>mvn:org.apache.karaf.assemblies.features/standard/${project.version}/xml/features</descriptor>
<descriptor>mvn:org.apache.karaf.assemblies.features/enterprise/${project.version}/xml/features</descriptor> |
Il y a ce genre de petites erreurs dans tout l'exemple de la doc.
Après pas mal de recherches, je me suis écarté de la doc sur la partie org.apache.karaf.features.cfg. J'ai comme dit dans la doc défini mon propre fichier feature et c'est le seul que j'ai référencé dans org.apache.karaf.features.cfg. À lui d'inclure tout ce que doit embarquer la plateforme. C’est beaucoup plus simple.
Enfin pour la partie assembly j'ai quelque peut dû modifier l'exemple pour qu'il fonctionne.
Par exemple ajouter un « exclude » pour gérer le pb des fichiers *.formatted qui se retrouve dans la distribution.
Je pense donc que je vais finir par avoir un projet Karaf custom distribution ne contenant que le minimum pour déployer des routes Camel. Dans lequel je référencerait les features de mon projets principal.
Je ne sais pas si c'est la distribution que nous retiendrons au final. Mais je pense que cette expérience est (pour moi) riche s'enseignements.
Je pense donc revenir ici vous faire part de celle-ci.
A+JYT
Partager