Discovery Explorer + NginX reverse proxy + HTTP basic auth

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

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

Fuse ESB : l’installation

Apache ServiceMix sert de conteneur pour l’ESB Fuse. Cet ESB se base sur JBI, Camel et ActiveMQ notamment. Voici quelques billes pour l’installer simplement avec ses composants de base.

Lire la suite

Comment déléguer l'ouverture d'un fichier au navigateur

En développant une petite application en Swing servant d’explorateur de fichiers sur un WebDav, je me suis rendu compte qu’il aurait été sympa de visualiser les fichiers distants. Plutôt que de télécharger en local, puis d’utiliser Windows pour rechercher ce fichier et double-cliquer dessus, pourquoi ne pas s’appuyer sur le navigateur pour gérer le content-type. La question est : comment passer la patate chaude au navigateur depuis une application en Java?

Lire la suite

Afficher un Tif dans un navigateur

L’autre jour j’ai eu la problématique suivante : comment afficher un Tif dans un navigateur web ?

Le problème est que les navigateurs respectent (en tout cas essayent) les normes du W3C et donc ne savent afficher que les Jpeg, les Gif et les Png (et encore, IE a du mal). Voici une solution :

Lire la suite