lundi, mars 31, 2014

Changement d'hébergeur

0 commentaires

Cet article n'a rien à voir avec Java et il est plus à titre informatif.

En effet, j'ai décidé de passer de Blogger pour l'hébergement de mon blog à une solution basée sur Octopress et un hébergement sur github.io.

Pourquoi ce choix? Je vous invite à aller voir l'article qui en parle sur le "nouveau blog" ;-) .

Pour ceux qui accédait à ce blog par l'url http://blog.jetoile.fr, il n'y a rien de changé : le nom de domaine a été conservé et redirigé. Par contre, pour ceux qui y accédait de l'ancienne manière (à savoir http://jetoile.blogspot.com ou http://jetoile.blogspot.fr), si vous voulez accédez aux nouveaux articles, je vous invite à modifier vos bookmark pour pointer sur la nouvelle url...

En outre, le flux rss a subi un petit changement : en effet, en raison d'une limitation de feedburner sur la taille du fichier atom.xml, j'ai été obligé de ne faire pointer que la catégorie Java (je n'ai pas trouver comment il était possible de générer ce fichier avec seulement une partie de l'article ou juste le titre...).
Du coup, je vous invite à modifier vos lecteurs rss si vous en utilisez un pour pointer directement sur le nouveau flux :
Je m'excuse par avance pour ce changement et j'espère que le nouveau blog vous plaira ;-)
Pour plus d'information sur les raisons qui m'ont poussé à changer ou pour avoir plus de détails, je vous invite à vous rendre sur ici.

Rendez vous sur le nouveau blog! ;-)

PS : pour info, même si je garde ce blog, il est fort probable que je ne le maintienne plus...

lundi, mars 24, 2014

JAXRS, Netty4 et Spring Integration : ils reviennent et ils ne sont pas content!

0 commentaires
Pour faire suite à mes articles resteasy-netty et resteasy-netty4, nous allons voir, dans cet article, comment il est possible de créer un service activator avec Spring Integration qui exposera via resteasy-netty4 un service REST.

Ce service REST esposera simplement une opération en POST qui, via Spring Integration, écrira dans un fichier et qui, pour le fun, écrira également sur la console.

Pour ce faire, rien de plus simple, un Service Activator de type gateway a été utilisé.

Cet article montrera donc comment il est possible d'intégrer Spring Integration à notre petite stack basé sur Resteasy-Netty4, Jackson, Metrics, Swagger et Jolokia.

Le code se trouve sur Github ici.

jeudi, mars 20, 2014

Livereload et Linux ou comment rédiger du html simplement

0 commentaires
Cet article n'a rien à voir avec le monde Java.

Il s'agit plus d'un petit tutoriel surtout destiné... à moi-même... ;-)

En effet, mon blog étant hébergé sur blogger, lorsque je rédige un article, je le fais le plus souvent directement en HTML. Afin d'avoir une idée de l'aperçu, je le charge directement dans mon navigateur mais passer son temps à faire du Alt-Tab/F5 a rapidement commencé à m'énerver.

Aussi, ayant entendu parlé depuis un moment de livereload, je me suis dis que cela pouvait être pas mal de l'utiliser.

Cependant, j'avoue avoir subi un échec cuisant (je suis sous un environnement linux et je tiens à préciser que je ne suis pas des plus à l'aise avec le monde nodejs ou ruby - ceci explique aussi cela... ;-) ) et cela malgré avoir mes multiples tentatives (à coup de gem install) et recherche sur mon ami Google (enfin, quand on n'est pas doué, on n'est pas doué... :'( )

Du coup, j'ai pris l'option :
"J'appelle un ami"

Dans mon cas, je remercie Harold pour son aide.

Il m'a conseillé de me jeter un oeil sur Grunt qui gérait nativement livereload (bon, pour ma défense, je n'avais pas prévu de partir sur Grunt... ;-) ).

Cet article présentera donc comment j'ai réussi à faire fonctionner le bouzin avec, en prime, la possibilité d'utiliser Markdown.

Concernant l'environnement, il s'agit d'Ubuntu 13.10 (sur Mac, je ne doute pas que cela aurait été plus simple mais bon...)

[NDLR : encore une fois, je précise que je ne suis pas du tout expert dans ce domaine, il est donc inutile de me poser des questions. Par contre, toutes propositions d'amélioration est la bienvenue ;-)]

A titre informatifs, les fichiers se trouvent sur Github.

lundi, mars 17, 2014

JAXRS, Netty 4, Jackon 2... les mêmes mais en mieux...

0 commentaires
Pour faire suite à mon article précédent qui montrait comment il était possible de construire une stack légère basée sur Resteasy-Netty3, Jackson, Jolokia et Swagger, cet article montrera comment il est possible de faire la même chose avec Resteasy-Netty4 et Jackson 2.

Même si les changements ne sont pas énormes, il y a quand même quelques variantes, et, histoire d'être exhaustif, cela permet de faire le tour complet... ;-)

En fait, les seuls points qui diffèrent, par rapport au code précédent, touchent :
  • les dépendances,
  • l'intégration de Resteasy-netty4,
  • l'intégration du JacksonConfig (changement d'API coté Jackson),
  • le support de JodaTime dans Jackson 2,
  • et le support du CORS dans Resteasy-Netty4.
C'est donc ces différents points qui seront abordés dans cet article.

Le code se trouve sur github sur la branche netty4.

lundi, mars 10, 2014

JAXRS, Netty et bien plus encore... mode d'emploi...

2 commentaires
L'informatique évolue constamment et c'est également le cas des architectures qui ont tendance à s'orienter de plus en plus vers l'utilisation de services REST. Ces services REST doivent, en outre, être de plus en plus véloces afin de pouvoir répondre à une charge de plus en plus forte (que ce soit d'un point de vue temps de réponse mais également d'un point de vue charge suportée). C'est dans ce contexte que des solutions comme Restlet ou RestX (pour n'en citer que quelques-unes) ont vu le jour.
En effet, en plus d'offrir la possibilité de servir des services REST, elles s'appuient sur des framework dont la particularité est d'offrir des traitements non bloquant sur les entrées/sorties (NIO).

C'est dans ce contexte que cet article parlera principalement de Resteasy-Netty 3 (la version 3 a été utilisé en raison de contraintes techniques (connexion à Apache Cassandra dont le driver utilise Netty 3)).

Cependant, ce ne sera pas le seul protagoniste car, comme on verra par la suite, il est très simple à utiliser...

Le vrai sujet de cet article est, en fait, comment il a été possible d'ajouter d'autres framework comme Swagger ou Jolokia à Resteasy-Netty 3.

Cet article sera découpé en deux parties :
  • Besoin et conception
  • Mise en oeuvre
Le code se trouve sur Github ici.

mardi, mars 04, 2014

Jolokia : le piment qui vous veut du bien

3 commentaires
Dans des articles précédents, je m'étais déjà exprimé sur le fait que je trouvais qu'il était important de monitorer son application (qu'il s'agisse d'une application web, d'un batch ou d'une application standalone) (cf. ici). J'avais même creusé un peu la spécification JMX (cf. ).
Pour faire suite à ce besoin, je vais, dans cet article, faire un focus sur un outils que j'ai découvert récemment (merci Romain ;-) ) mais qui existe depuis un moment (la version 1.0.0 est apparue en octobre 2011 sur le repo Maven central et le premier commit apparaissant sur Github date de Juillet 2010) : cet outils est Jolokia.

Comme à mon habitude, pour présenter cet outils, je m'appuierai sur la document officielle dans sa version courante, à savoir la 1.2.0.


Cependant, je ne ferai pas un plagiat exhaustif de la documentation qui est très complète (et surtout, je n'ai pas envie de me traduire les 92 pages de cette dernière... ;-) ) mais j'essaierai de faire un focus sur les points que je trouve les plus intéressants (à savoir les principes ainsi que le mode agent JVM (cf. plus tard) ).

jeudi, juin 13, 2013

BreizhCamp 2013

0 commentaires
Pour ceux qui l'aurait loupé, le BreizhCamp dans sa version 2013 a actuellement lieu.

Etant un grand amoureux de la Bretagne, je ne pouvais manquer le cru de cette année...

En outre, j'ai eu la chance d'y présenter un Tools In Action d'1/2 heure sur le sujet des tests d'acceptance et plus précisément sur la façon dont il est possible d'intégrer Cucumber JVM, Selenium et FluentLenium.

Les slides sont dès à présent disponibles :

Et un projet d'exemple est accessible ici.

A noter que cette présentation concorde parfaitement avec la version de FluentLenium dans sa version 9.0 (comme par hasard! ;-) ).

Enjoy! ;-)

PS : en plus, pour une fois, il ne pleut pas... ;-)