RSS Feed

Archives de la catégorie ‘Java EE’

NormandyJUG – la seconde réunion

22 September 2009 par SeB Pas de commentaire »

On remet ça ? Oui, oui ! La première réunion avait eu lieu avant la période estivale. Les congés sont terminés. Tout le monde a repris le boulot et les étudiants sont de retour ! C’est donc le moment de relancer les réunions du NormandyJUG.

Ce deuxième rendez-vous a eu lieu hier au même endroit que la dernière fois.

Au menu, nous avons eu le droit à :

  • Présentation en anglais de TeamCity, un outil d’intégration continue, par Pavel Sher et Yegor Yarko, deux membres tchèques de l’équipe de JetBrains, qui ont fait un petit détour par Rouen avant de rentrer chez eux
  • Initiation à l’AOP :

La première partie était intéressante quand on n’a jamais vue l’intégration continue en action. L’anglais du speaker était fluide et très compréhensible. Il y a peut-être eu moins de questions que d’habitude. L’assistance n’étant peut-être pas forcément à l’aise pour s’exprimer dans la langue de Shakespeare.

Après la pause, nous avons pu constater que peu de personnes dans l’assistance connaissaient ou pratiquaient l’AOP. Le sujet semblait intéresser. Nous sommes passé très vite sur les démos (à cause au temps). J’espère que l’on n’a pas perdu trop de monde à cet instant. De plus, il reste encore beaucoup de choses à raconter sur le sujet. Ça m’a également donné des idées sur la façon de présenter cette méthodologie par l’exemple

Pour information, Nicolas Giard en a profité pour faire un live report de cette réunion entre deux joutes Wicket. C’est à surveiller par les personnes qui ne pourront pas se rendre à la prochaine réunion du NormandyJUG.

Il ne reste plus qu’à attendre les présentations, démos, vidéos et photos. Et vivement la prochaine réunion !

 

DZone RefCardz – aide mémoire Java

20 June 2009 par SeB Pas de commentaire »

Vous ai-je déjà parlé de la carte de référence Debian GNU/Linux ? Si ce n’était pas le cas, cet oubli est réparé. :-)

En écoutant l’épisode 5 des Cast Codeurs, j’ai appris qu’il existait à peu près la même chose (essentiellement mais pas que…) pour le monde Java. Ces pense-bêtes porte le doux nom de DZone RefCardz. Ce sont des cartes de référence sur un thème donné de 6 pages environ au format A4. Les sujets semblent issus de livres. A l’heure actuelle, il existe près d’une soixantaine d’aide-mémoire sur des sujets aussi variés que JSF 2.0, Scrum, MySQL, JPA, C#, etc…

Bien entendu, tout ceci est téléchargeable gratuitement au format PDF après s’être inscrit. Je sens qu’il va y avoir des imprimantes qui vont chauffer !;-)

 

Les Cast Codeurs – le podcast Java en français

19 June 2009 par SeB Pas de commentaire »

Suite à la première réunion du NormandyJUG, j’ai découvert l’existence du podcast Les Cast Codeurs – En français dans le Code. Je ne suis pas un très grand fan des podcasts et pourtant je trouve cette initiative excellente. Pour le moment, je n’ai écouté que le numéro 5 spécial JavaOne. L’ambiance est très bon enfant. :-)

Le podcast se décompose ainsi :

  • Les nouvelles du monde Java
  • Les outils de la semaine
  • Une discussion détaillée sur un sujet peu connu
  • L’interview d’un acteur francophone du monde Java

Vous pouvez retrouver sur leur site tous les liens évoqués dans le podcast. La fréquence des émissions n’a pas l’air d’être fixe (hebdomadaire, bi-hebdomadaire ?). En tout cas, une toute jeune initiative à féliciter !

 

NormandyJUG – la première

17 June 2009 par SeB Pas de commentaire »

Il n’y a pas très longtemps, je vous ai annoncé la création du NormandyJUG. Je n’étais pas le seul à l’annoncer. Ça a été dit ici ou bien mais je ne pourrais pas tous les citer… Et bien, ce soir s’est tenue la première réunion.

Je pense que c’est une réussite tant sur la qualité des présentations que sur le nombre de participants ou que sur l’organisation générale. Bon, il y a eu un petit dérapage sur l’horaire de fin mais qui s’en plaindra ? ;-)

Pour rappel, en attendant les présentations, photos et vidéos :

  • Présentation du JUG par Yann Petit et Nicolas Giard
  • Battle GWT vs Wicket par Youen Chéné et Nicolas Giard
  • Intégration continue par Dimitri Baeli et Laurent Deséchalliers

Je reviendrai plus tard sur les présentations mais je ne peux que saluer la bonne ambiance rencontrée. Et je vous invite à rejoindre au plus tôt le NormandyJUG !

 

NormandyJUG – un groupe d’utilisateurs Java sur Rouen

3 June 2009 par SeB Pas de commentaire »

La Normandie a enfin son groupe d’utilisateur Java ! L’association NormandyJUG vise à regrouper les personnes ayant des affinités avec le langage Java afin d’échanger des avis, expériences, etc…

La première réunion aura lieu le mardi 16 juin à 19H au Pôle Normand (PAT LA Vatine). Au menu, vous aurez droit à un comparatif GWT vs Wicket, puis à une présentation sur le thème de l’intégration continue.

N’hésitez pas à vous inscrire à la première réunion du NormandyJUG !

 

Eclipse – autocomplétion non disponible

12 March 2009 par SeB 8 commentaires »

Eclipse est un excellent IDE. Cependant, il lui arrive parfois de perdre les pédales. Par exemple, il se peut que l’autocomplétion, appelée également “Content Assist”, ne fonctionne plus dans les fenêtres d’édition de code Java. Cela se traduit par le fait qu’Eclipse ne propose plus automatiquement l’autocomplétion. Et même si vous faites le raccourci clavier CTRL+SPACE, vous aurez en plus le message d’erreur : “No completions available.”.

Cette erreur vient du fait que les proposals de l’éditeur d’Eclipse ont été désactivés. Pour les réactiver, il suffit de procéder ainsi :

  • Dans Eclipse, sélectionner “Preferences” dans le menu “Window”.
  • Etendre le noeud “Java” dans l’arbre d’exploration, puis “Editor”, ensuite “Content Assist” et sélectionner “Advanced”.
  • Cliquer sur le bouton “Restore Defaults”. Cela va sélectionner les proposals par défaut dans Eclipse.

Vous pouvez à nouveau être fainéant et ne plus taper entièrement tous les noms des classes, méthodes, variables et autres… :-)

 

Eclipse CVS – supprimer un tag

30 January 2009 par SeB 2 commentaires »

En utilisant CVS avec Eclipse, il se peut que l’on applique un tag de version CVS qui s’avère être erroné. Or il n’existe aucune fonction dans Eclipse pour renommer ou supprimer un tag CVS.

Tout d’abord, CVS ne permet pas de renommer un tag. En revanche, il est possible de copier un tag sous un nouveau nom puis de supprimer l’ancien tag. Voici donc les commandes CVS pour réaliser l’équivalent d’un renommage de tag :

cvs rtag -r mon_mauvais_tag mon_tag_correct tc

cvs rtag -d mon_mauvais_tag tc

A partir de là, pourquoi ne pas faire la même chose sous Eclipse ? Même si Eclipse ne propose pas de fonction pour copier un tag, il est facile de mettre un nouveau tag à une version récupérée à partir d’un autre tag (vous me suivez toujours ? ;-) ). Cepandant, pour d’obscures raisons de sécurité (cf. Bug 73032), Eclipse ne permet pas de supprimer un tag. Heureusement pour nous, Frank a créé un petit plugin pour Eclipse 3.4 qui permet de supprimer un tag CVS : Remove Tag Tool (nouveau lien).

Ce plugin fonctionne très bien. Il faut juste penser à mettre à jour le cache d’Eclipse pour les tags car dans le cas contraire Eclipse affichera toujours ce tag de version même s’il existe plus sous CVS.

Maintenant, vous pouvez enfin effacer tous les tags ratés (faute de frappe, erreur de numéro ou date, etc…). Veuillez cependant à ne pas trop abuser de cette nouvelle fonctionnalité ! :-)

 

Hibernate 3.3

26 August 2008 par SeB Pas de commentaire »

Le projet Hibernate propose une nouvelle version de leur framework de mapping objet-relationnel.

Il y a une dizaine de jours, l’équipe du projet Hibernate a annoncé la sortie de Hibernate Core 3.3.0 GA.

Cette nouvelle version est disponible en téléchargement. Elle n’apporte pas de gros changements puisque l’essentiel des nouveautés concerne le refactoring du projet. Le projet est maintenant construit avec Maven et a été découpé en plusieurs JARs pour réduire les dépendances. De plus, le cache de second niveau a subi quelques améliorations.

 

Eclipse 3.4 – Ganymède

1 July 2008 par SeB Pas de commentaire »

Cela fait bien longtemps que je n’ai pas annoncé la sortie d’une nouvelle version d’Eclipse. Il me semble que la dernière, c’était pour la sortie d’Eclipse 3.2, il y a deux ans !

Et bien, voilà ! Le projet Eclipse avance toujours et a annoncé la semaine dernière (le 25 juin 2008 pour être exact) la sortie de la version 3.4. Comme à l’accoutumée, la liste des nouvelles fonctionnalités est disponible. Cette publication regroupe pas moins de 24 projets différents ! On peut noter l’intégration de Subversive dans l’IDE pour utiliser SVN. De plus, le système de mise à jour a été complètement revu et se nomme P2 (Provisioning Platform).

Cet IDE est disponible en téléchargement sur le site officiel.

Pour ceux d’entre vous qui souhaiteraient obtenir plus d’information, Xavlours a réalisé une synthèse pour présenter les principales nouveautés par projet que propose Ganymede.

 

Dites au revoir aux PermGen space

6 June 2008 par SeB 4 commentaires »

Vous travaillez sous Eclipse ? Vous utilisez un serveur d’applications intégrant Tomcat tel que JOnAS ou JBoss ? Et l’accès aux données est fait via Hibernate (même encapsulé dans la couche EJB3) ? Et pour finir, votre application contient un module web ?

Si vous avez répondu par l’affirmative à la majorité de ces questions, vous devez bien connaitre le message suivant :

PermGen space

Ceci se produit après quelques déploiements à chaud de votre application et provoque le blocage de votre serveur d’application. Après une telle erreur, il ne reste plus qu’à tuer le processus du serveur (le script d’arrêt ne fonctionnant plus) puis à le relancer.

Après avoir investigué sur le sujet, il semble que l’utilisation de bibliothèques externes qui font du chargement dynamique de classe ne soit pas compatible avec le redéploiement car l’URLClassLoader de Tomcat garde des références sur des objets dont les classes ont été chargées dynamiquement lors de l’exécution. Ce qui empêche le garbage collector de faire correctement son travail. ;-)

Or Hibernate utilise la bibliothèque CGLIB pour le chargement dynamique de classe (lazy=false).

Spécifique à la JVM Sun, le PermGen space est une zone mémoire qui contient tout ce qui n’est pas géré par le garbage collector; tout ce qui est relatif au classes (leur structure: méthodes, champs, annotations…), les champs static, les chaines littérales… On spécifie le PermGen space avec les propriétés -XX:PermSize=256m et -XX:MaxPermSize=256m par exemple. Plus on a de classes différentes plus il faut augmenter la taille de cette zone mémoire.

Pour résoudre le problème, enfin pour le repousser devrais-je dire, il est possible d’ajouter le paramètre suivant lors du lancement de votre serveur d’application : -XX:MaxPermSize=256m. La taille étant à définir selon votre utilisation. Par contre, il faut éviter de mettre le paramètre -noclassgc qui empêche le garbage collector de nettoyer l’espace du PermGen.

L’autre solution est d’utiliser la JVM d’IBM ou JRockit de BEA. Mais on ne fait pas de polémique ici. :-P