Appelez un programme C depuis java avec JNA

Et oui, on peut appeler nativement une lib C, C++ Rust ou Go directement en Java grâce à JNA.

En fait c’est facile.

D’abord, il faut une lib en C. Par exemple en voici une :

Lire la suite

java-gnome

Pour les besoins d’une conférence sur Apache Camel, je trouvais sympa d’afficher les live-tweets sous forme de notification Ubuntu pendant le déroulement des slides. (J’avais trouvé l’idée du Tweet-wall du DevoXX sympa) En creusant un peu, je suis tombé sur la librairie GTK.jar fournie par java-gnome.

Lire la suite
Camel-kafka

Marier Camel et Kafka

Dans la même lignée que le mariage Thrift-Camel, ça me trottait depuis longtemps dans la tête de marier Kafka et Camel. Kafka est un bus événementiel très performant de type publish/subscribe. Il gère de la persistance, se coordonne avec Zookeeper fonctionne en cluster. J’avais dans l’idée de créer un composant Camel pour produire et consommer des messages et c’est chose faite.

Lire la suite

Faire communiquer Thrift et Camel

Dans le cadre de mes pérégrinations architecturales, j’étais tombé au hasard d’un surf sur des slides présentant l’architecture ultime en terme de performances. Cette archi utilisait Thrift et Camel. Thrift servant de protocole et de transport pour communiquer avec un bus Camel. Ça m’a intrigué car le composant Thrift n’existe pas chez Camel. Alors, je me suis arraché le peu de cheveux qu’il me reste et voici la solution.

Lire la suite
Camel et Web Services CXF

Camel et Web Services CXF

Aujourd’hui nous verrons comment publier un web service depuis Camel. Il y a plusieurs façons de le faire. En fait c’est très simple avec Spring.  Cependant, ça l’est moins quand il faut traiter une requête entrante et déclencher le bon routage en fonction de la méthode invoquée.

Lire la suite

Tracer sa route avec Camel

Dans le cycle de développement de routes Camel, la phase la plus importante est la conception. Cette conception consiste à dessiner les routes en utilisant les EIP, le nom des routes et en spécifiant le format des messages. Il y a deux solutions pour dessiner ces routes.

Lire la suite
Camel, Tomcat, camel-exec et camel-file

Camel, Tomcat, camel-exec et camel-file

Il est tout à fait possible d’utiliser Camel pour effectuer différentes tâches de routage ou de connexion au sein d’un War déployé dans un Tomcat. Les principes de développement de Camel sont les mêmes.
Dans cet exemple, nous allons créer un War exécutant une route Camel simple : attendre la mise à jour d’un fichier, exécuter une commande shell et enfin traçer le résultat de cette commande dans un fichier de log.

Lire la suite

Premiers pas avec Camel et Fuse

Nous allons faire nos premiers pas en développant un bundle OSGi basé sur Spring et Camel sans utiliser Maven (utilisation de ANT). Dans cet exemple, nous allons créer un bundle qui attend une requête GET HTTP, qui trace le contenu dans un fichier et retourne une page Web au navigateur. Il s’agit d’un exemple sans JSP et sans servlet.

Lire la suite

Déployer un War dans Fuse

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.

Lire la suite