Java News ChiliProject • Fork du projet Redmine • Dissentions entre les développeurs core • Un leader un peu trop possessif • manque de réactivité • manque d’ouverture • Les commiters les plus actifs ont rejoint le projet Nuxeo core • Nuxeo propose le coeur de sa gestion documentaire à la fondation Eclipse • Eclipse Enterprise Content Management • Base documentaire adossée à une base SQL • gestion cycle de vie, autorisations, conversion • API REST CMIS • Full OSGi JAX-RS 2.0 • Vote du démarrage de la JSR-339 (Java EE 7, 2ème semestre 2012) • API cliente “fluent“ • Meilleur support HATEOAS • Intégration de bean validation (JSR-303) • Intégration @Inject (JSR-330) • Framework MVC :) 301 Moved permanently HTTP/1.1 301 Moved Permanently Location: http://earthly-powers.blogspot.com/ Cache-Control: public Content-Type: text/plain Date: Thu, 27 Jan 2011 15:43:59 GM Content-Length: 807 • Paul Sandoz quitte Oracle • Lead JAX-RS • Lead Jersey • Rejoint CouldBees Sonatype & Hudson • • • • Sonatype annonce une mise à disposition de ressources à plein temps pour Hudson • conjointement avec Oracle Support professionnel sur le produit et versions «stables» Critique de l’état du projet • remise à neuf (JSR-330, Guice, Maven 3, JAX-RS, tests, doc) • passage à Github Prise de pouvoir opportuniste assez mal vue JQuery 1.5 • Réécriture complète du support AJAX cross-browser • Chaining de méthodes de callback lors des appels AJAX • JQuery.sub • créé un clone de JQuery pour surcharger ou ajouter des méthodes • 4500 tests sur de nombreux browsers • Optimisations des perfs. DOM Spring 3.1 • Gestion de profiles de configuration • • <beans profile="development"> <beans profile="production"> • @Profile • API Evironnement permettant de configurer les variables environnementales suivant les profiles • API de cache automatique • @Cacheable Node.JS 0.4.0 • Première version stable • Serveur full Javascript • entièrement asynchrone (1 thread pour toutes les connexions, pas de fct bloquantes) • perfs. sur les entrées/sorties • supporte des charges extrêmes (100000 connexions par serveur) • Utilise V8 comme moteur JS Node.JS 0.4.0 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type':'text/plain'}); res.end('Hello World\n'); }).listen(8080, "127.0.0.1"); console.log('Server running ...'); Ehcache Search • Nouvelle fonctionnalité de Ehcache 2.4 • Optimisation de la recherche à l’intérieur du cache • API de requêtage “fluent“ • Langage de requête : EQL • critères standards, tris, agrégateurs • Très bonnes performances • standalone ou cluster Ehcache Search Results results = cache.createQuery() .includeValues() .addCriteria( age.eq(32).and( gender.eq("male") ) ).execute(); GWT 2.2 • Google Plugin for Eclipse intègre un version light de GWT Designer • WYSIWYG pour GWT • moins d’options et de support que la version complète • Support expérimental de <video>, <canvas> et <audio> • Tri et dimensionnement des colonnes pour CellTable • Java 1.5 deprecated Contracts for Java • Outils google développé sur les 20% • Spécification des pré-conditions et postconditions d’une méthode via des annotations • Similiaire à GContracts pour Groovy @Requires({ "Collections.isSorted(left)", "Collections.isSorted(right)" }) @Ensures({ "Collections.containsSame(result, Lists.concatenate (left, right))", "Collections.isSorted(result)" }) private List merge(List left, List right) {...} Bonne soirée