Archives par mot-clé : java

Cartes de références pour développeurs

Voici quelques sites qui proposent des fiches de référence pour différents outils/langages. Toujours utile à avoir sous la main :

  • Quick References Cards propose « JSP Syntax », « XSLT and XPath Quick Reference », « XSL Transformations (XSLT) 1.0 », « Apache Quick Reference Card », etc…
  • RefCards propose « Apache », « CVS », « MySQL », « HTML DOM », « CSS level 2 », « XPath », etc…
  • Peter Dickman propose sa carte de référence Java 5 et 6.

La gestion des exceptions en Java

La gestion des exceptions en Java pose parfois quelques problèmes aux développeurs. Cet article a le mérite d’expliquer certaines bonnes méthodes pour les gérer. A lire sans réserve.

Le lien : Best Practices for Exception Handling

Et un article intéressant sur la gestion des exceptions pour le traitement des erreurs de validation

Le lien : Using exception for server-side validation in JSP

Applications Java serveur nécessitant un serveur X

Comment se passer d’un serveur X pour une application java qui en veut un alors qu’elle tourne sur un serveur qui n’est pas sensé en avoir : vous me suivez ?

Des applications java peuvent avoir besoin d’un serveur X pour faire du rendu de dessin. C’est le cas par exemple en cas d’utilisation de la bibliothèque de rendu de graphiques JChart ou avec JasperReport. On aura par exemple une stacktrace du genre :

java.lang.InternalError

Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.sun.awt.X11GraphicsEnvironment::initDisplay (native)

sun.awt.X11GraphicsEnvironment::<clinit> ( X11GraphicsEnvironment.java: 134 )

java.lang.Class::forName0 (native)

java.lang.Class::forName ( Class.java: 141 )

java.awt.GraphicsEnvironment::getLocalGraphicsEnvironment ( GraphicsEnvironment.java: 62 )

net.sf.jasperreports.engine.util.JRGraphEnvInitializer::initializeGraphEnv ( JRGraphEnvInitializer.java: 58 )

...

Cependant, sous les serveurs de production, on lance rarement un serveur X. Il faut donc utiliser soit :
– un serveur virtuel xvfb
– l’option -Djava.awt.headless=true [1] si on utilise Java 1.4 ou supérieur

PS : Cette astuce a été trouvée dans la doc de jCharts

[1] ou dans le code avec System.setProperty(“java.awt.headless”,”true”) ;