ASTORM

Hibernate avec H2/GeoDB

En travaillant sur un serveur embarqué Java EE avec payara et H2/Geodb (car j'ai besoin d'utiliser des données spatiales), il y a une incompatibilité entre les APIs utilisées qui provoque un crash à la récupération.

Lire la suite...

Fuite mémoire spéciale

Il y a quelque temps, je suis tombé sur des erreurs bizarres, style PermGen space ou NoClassDefFoundError qui survenaient de manière incompréhensible. En travaillant dessus, j'ai découvert quelques soucis avec la librairie de persistance...

Lire la suite...

Date et TimeZone

La magie des gros projets est que l'on tombe inévitablement sur des problèmes inattendus. Et lorsque ceux-ci surviennent dans une phase avancée du développement et qu'ils sont assez profonds, cela devient vite une grosse prise de tête. C'est ce qui m'est arrivé avec le parsing de dates en Java...

Lire la suite...

EJB et Weblogic

Weblogic est le serveur d'application Oracle (anciennement BEA) au même titre que Glassfish pour Sun (enfin... Oracle aussi désormais). En voulant porter une application Java EE 5 de Glassfish à Weblogic, un bug surprenant des EJB est remonté.

Lire la suite...

Injection de resources

Comme d'habitude, le débuggage en Java EE est d'une prise de tête assez phénoménale pour qui n'est pas habitué aux messages incompréhensibles renvoyés par le serveur ! Cette fois-ci, la cause est un problème d'initialisation des resources injectées via les annotations...

Lire la suite...

Intercepteurs en JavaEE

Je m'exprimais tout récemment à propos des RuntimeException en Java EE et comme quoi c'était parfaitement indébuggable. Finalement une solution très élégante a été trouvée : les intercepteurs ! C'est non seulement très simple à utiliser mais cela permet également de simplifier l'implémentation de tâches génériques.

Lire la suite...

RuntimeException et EJB

Depuis quelques mois, je travaille sur un (très) gros projet Java EE. Le fonctionnement de base de Glassfish n'étant déjà pas trivial, cela devient encore plus compliqué lorsqu'on est plusieurs à travailler sur le même code. Mais tout cela n'est rien face aux obscures erreurs du type ejb.some_unmapped_exception renvoyées par Glassfish, ce qui rend le projet (déjà) difficilement débuggable ! Et voila qu'en lancant une simple RuntimeException, tout le serveur crash...

Lire la suite...