
Il y a quelques temps, j'étais tombé sur une série de billet anglophone proposant un SwingWorker amélioré, tel que celui-ci sur le blog de Baptiste Wicht : A better SwingWorker without exception swallowing
Pour rappel cette classe permet d'exécuter des tâches en arrière-plan (via la méthode doInBackground()) afin de ne pas bloquer l'EDT (le thread gérant l'affichage graphique). Et à la fin du traitement, la méthode done() nous permet de mettre à jour l'interface graphique.
Le problème vient du fait que par défaut, les exceptions remontées par la méthode doInBackground() sont "perdu". En fait il faut les récupérer et les traiter explicitement via l'appel de la méthode get() une fois la tâche terminée.
Bien sûr le code correspondant n'est pas bien méchant :
@Override protected void done() { try { get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.getCause().printStackTrace(); } }
Mais cela peut se révéler assez lourd et fastidieux... surtout que l'on n'a pas forcément besoin d'implémenter la méthode done().
Pour pallier à cela, la proposition du "BetterSwingWorker" encapsule en fait le vrai SwingWorker, afin d'en proposer une version simplifié.
Un peu trop simplifié à mon goût...
Vous devez être identifié pour poster un commentaire.

Je viens seulement de me rendre compte que le mapping objet/relationnel via les Annotations de JDBC 4.0 a été supprimé des spécifications au dernier moment, et qu'il n'est donc pas présent dans la version finale de Java SE 6...
J'ignore encore les raisons exactes mais c'est bien dommage. J'espère au moins que cela sera reporté dans Java 7...
Vous devez être identifié pour poster un commentaire.

Ca y est, c'est officiel !
Alors que Javapolis vient tout juste de commencer, la plateforme Java SE 6 est disponible en version finale !
Si vous ignorez encore tout de cette nouvelle version, profitez-en pour jeter un coup d'oeil à ma présentation des nouveautés de Mustang (Java 6) :
Alors que Java 5.0 s'annonçait comme une révolution, en apportant un grand nombre de modification dans le langage, le nouvel opus de Java se présente plus serein et mature. Pas de révolution pour Java SE 6, mais de vrais évolutions afin de préparer le futur du langage et son ouverture aux autres langages.
[edit] Venez discuter avec nous de cette nouvelle version sur le forum : discussion sur Mustang (Java SE 6)
Vous devez être identifié pour poster un commentaire.

La JSR 270, dont l'objectif est de définir ce que comportera Java SE 6, vient de passer en "Public Review". Il est ainsi possible de télécharger le "Release Content" qui offre la possibilité à tout un chacun de donner des commentaires sur cette ébauche (et ce jusqu'au 26 septembre prochain).
Il n'y a rien de vraiment nouveau ou inattendus puisqu'il y a déjà eu plusieurs versions de ce document, si ce n'est toutefois l'ajout d'une politique de suppression de fonctionnalité (pour la première fois dans l'histoire de Java).
Quoi qu'il en soit cela reste une bonne occasion de découvrir les principales nouveautés de la prochaine version de Java...
Vous devez être identifié pour poster un commentaire.
Mustang, alias Java SE 6, est désormais disponible au téléchargement en version Beta 2. La version finale devrait voir le jour avant la fin de l'année...
Pour l'occasion, Sun propose toutes une série d'articles et de trucs et astuces pour cette version, en plus de la traditionnelle page "What's New" :
Vous devez être identifié pour poster un commentaire.

Le build b88 (du 15 juin 2006) de Mustang intègre désormais dans son JDK une version de JavaDB (la base de données 100% Java basé sur Apache Derby). Cette dernière implémente bien entendu toutes les nouveutées des spécifications de JDBC 4.0.
Pour rappel, vous pouvez télécharger les versions builds de Mustang et suivre l'évolution du projet via java.net...
Si l'intégration d'une base de données ne semble avoir pour objectif que de permettre de tester les nouveautés de JDBC 4.0, on peut également penser qu'il s'agit d'un "test" dont l'objectif serait au final d'intégrer une base de données interne dans le JRE. Cela serait un atout non négligeable pour le développement d'applications Desktop...
Liens a propos de JDBC 4.0 :
Source : Amit Handa's Blogs
Vous devez être identifié pour poster un commentaire.
Les slides qui ont servis à présenter la JSR 269 à JavaOne sont disponible en ligne (au format PDF, et en anglais bien sûr) : J1_2006-BOF-0606.pdf.
Pour rappel, cette JSR, qui sera incluse dans Java SE 6, permettra d'intégrer complètement apt (l'outil de traitement des annotations) dans le compilateur javac...
Il va falloir que je me fasse une rubrique spéciale pour les annotations ![]()
Source : Joseph D. Darcy's Sun Weblog
Vous devez être identifié pour poster un commentaire.
Java 5.0 a apporté un grand nombre de nouveautés dans le langage. Si certaines se sont rapidement imposé, comme les Générics qui touchent un grand nombre de classe de l'API standard, d'autre sont resté assez "discrète" dans un premier temps : les Annotations.
Mais la sortie prochaine de Java SE 6 alias Mustang pourrait changer la donne, grâce à la JSR 269 : "Pluggable Annotation Processing API". Cette dernière, qui vient de passer à l'état 'Public Review', propose une API afin de permettre le traitement des annotations des fichiers sources lors de la compilation de ces derniers...
Vous devez être identifié pour poster un commentaire.
Mustang (Java SE 6) inclut la JSR-223, dont l'objectif est de proposer un framework permettant d'utiliser des langages de scripts au sein d'une application Java. Il est donc théoriquement possible d'avoir une interaction entre votre code Java et n'importe quel langage de script...
Théoriquement... En effet seul le JavaScript est supporté en standard (basé sur le moteur Mozilla Rhino) (Voir le sujet 'Javascript n'a rien à voir avec Java !!! C'est vrai cela ?' pour un exemple d'utilisation de cette API).
Mais pour tous les autres langages de scripts, il faudra utiliser une implémentation externe qui respectent l'API du package javax.script...
Vous devez être identifié pour poster un commentaire.
Les applications Java de type "desktop" souffre d'un gros défaut : elles ne s'intègrent pas facilement dans l'environnement du système d'exploitation. Je ne parle pas ici de l'apparence de l'application, puisqu'on peut très facilement utiliser le LookAndFeel du système d'exploitation, mais plutôt de son interaction avec le système et les autres applications...
Bien souvent, pour effectuer des opérations toutes simples avec des API systèmes spécifique, il faut soit passer par des librairies tierces, soit utiliser du code natif avec JNI. Avec toute la difficulté que cela peut engendrer...
La prochaine version de Java devrait corriger certains de ces problèmes...
Vous devez être identifié pour poster un commentaire.
Le portail anglophone java.sun.com a publié il y a quelques jours un article qui présente quelques unes des petites améliorations de Java SE 6 (Mustang).
On peut y lire en particulier toute une section concernant la "nouvelle" classe SwingWorker... En effet même si elle n'a jamais fait partie de l'API standard, ce n'est pas vraiment une nouvelle classe puisqu'elle existe depuis pas mal de temps, et qu'elle disponible en téléchargement dans le tutoriel de Sun concernant les Threads et Swing...
Elle sera ainsi finalement intégré dans l'API de Mustang, mais pour cela elle a été totalement remanié afin de bénéficier des améliorations apportées au langage entre-temps (en particuliers avec Java 5.0).
Mais a quoi sert-elle ?
Vous devez être identifié pour poster un commentaire.
Le groupe de travail de la JSR 270 a publié une Early Draft Review du contenu de Java SE 6 "Mustang".
Ce document donne un aperçu assez proche de ce que comportera la prochaine version de Java, qui devrait sortir vers la moitié de l'année 2006...
Et vous ? Vous êtes passé à Java 5.0 ?
Vous devez être identifié pour poster un commentaire.

Ce blog est mis à disposition sous un contrat Creative Commons BY-NC-SA.
System.gc() a encore frappé : jre 1.5, tomcat 6.0 et multi processeurs
Tutoriels Java SE
Tutoriels Java EE
Sélection du blog
Java SE/EE et Web en général
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Copyright © 2000-2012 - www.developpez.com