Le tour d'horizon dans l'écosystème Java de cette semaine du 11 juillet 2022 présente des nouvelles des JDK 19 et 20, Microsoft rejoint les groupes de travail MicroProfile et Jakarta EE, la mise à jour Jakarta EE 10, les mises à jour de Spring, Payara Enterprise 5.41.0, GlassFish 7.0-M7, Micronaut 3.5. 3, Hibernate Search 6.2.Alpha1, Native Build Tools 0.9.13, Project Reactor 2022.0.0-M4, Piranha 22.7.0, mises à jour PrimeFaces, JobRunr 5.1.5 et Tomcat Native 2.0.1.
JDK 19
Le Build 31 du JDK 19 early-access builds a été mis à disposition la semaine dernière, avec des mises à jour du Build 30 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.
JDK 20
Le Build 6 du JDK 20 des early-access builds a également été mis à disposition la semaine dernière, avec des mises à jour du Build 5 qui incluent des correctifs pour divers problèmes. Les release notes ne sont pas encore disponibles.
Pour les JDK 19 et JDK 20, les développeurs sont encouragés à signaler les bugs via la Java Bug Database.
Microsoft rejoint les groupes de travail MicroProfile et Jakarta EE
Microsoft a rejoint le Jakarta EE Working Group en tant que membre Enterprise et le Groupe de travail MicroProfile en tant que membre Corporate. Julia Liuson, President Developer Division chez Microsoft, décrit l'objectif de Microsoft rejoignant ces groupes de travail, en écrivant :
Notre objectif est d'aider à faire progresser ces technologies afin d'offrir de meilleurs résultats à nos clients Java et à l'ensemble de la communauté. Nous nous engageons pour la santé et le bien-être de l'écosystème dynamique de Java, y compris Spring (Spring utilise plusieurs technologies clés de Jakarta EE). Rejoindre les groupes Jakarta EE et MicroProfile complète notre participation au Java Community Process (JCP) pour aider à faire progresser Java SE.
InfoQ suivra avec une nouvelle plus détaillée.
La route vers Jakarta EE 10
En route vers Jakarta EE 10, Ivar Grimstad, Jakarta EE developer advocate à la Fondation Eclipse, a annoncé dans son Hashtag Jakarta EE hebdomadaire blog que la sortie de Jakarta EE 10 est "imminente" car trois problèmes restants du kit de compatibilité technologique (TCK) doivent encore être résolus :
- Échec du TCK pour CDI Language Model dans GlassFish
- Le TCK de Jakarta Concurrency 3.0 contient des Jakarta Enterprise Beans distants
- Le TCK de Jakarta RESTful Web Services 3.1 contient des tests pour Jakarta XML Binding 4.0
Ivar Grimstad a également déclaré que l'équipe du projet Eclipse GlassFish travaille sur un correctif et des pull requests pour résoudre ces éléments avec une petite possibilité que les trois Jakarta EE profils - Plateform, Web et Core - pourraient bientôt être prêts pour les votes d'examen des versions. Le profil Jakarta EE Platform a passé le TCK et une demande de certification de compatibilité a été déposée pour GlassFish 7.0.
Spring Framework
Les versions 2022.0.0-M5, 2021.2.2 et 2021.1.6 de Spring Data ont été publiées avec un correctif de bug et des mises à niveau correspondantes pour tous (ou la plupart) des sous-projets Spring Data. Spring Data 2022.0.0-M5 inclut une mise à niveau des dépendances vers Hibernate 6.0 et les versions 2021.x peuvent être consommées par les prochaines versions de Spring Boot.
Spring Framework 6.0.0-M5 et 5.3.22 ont été mis à la disposition de la communauté Java :
- La version 5.3.22 est livrée avec de nouvelles fonctionnalités telles que : une révision de la classe
LoggingCacheErrorHandler
; une nouvelle méthodetrimAllWhitespace()
dans la classeStringUtils
; et de nouveaux types non-interface bien connus dans la classeCollectionFactory
sans utiliser la réflexion. De plus amples détails sur cette version peuvent être trouvés dans les release notes. - La version 6.0.0-M5 est livrée avec de nouvelles fonctionnalités telles que : adapter la classe
HibernateTransactionManager
vers Hibernate 6.0+ ; ajouter des conseils d'exécution pour la classeAbstractHandshakeHandler
; et permettre àApplicationContextAotGenerator
de générer de meilleurs noms de classe. Plus de détails sur cette version peuvent être trouvés dans les release notes.
Spring Native 0.12.1 a été publié avec : l'ajout d'un indice pour Sleuth dans la classe R2dbcTransactionManager
et la publication des résultats du TCK Jakarta EE 10. Il y avait également des mises à niveau de dépendance vers Spring Boot 2.7.1 et Native Build Tools 0.9.13. De plus amples détails sur cette version peuvent être trouvés dans les release notes.
Payara
Payara a publié l'édition de juillet 2022 de leur Payara Plateform en tant que version réservée aux entreprises. L'édition Payara Platform Enterprise 5.41.0 propose deux corrections de bugs, deux mises à niveau de composants et des améliorations qui incluent : l'outil de mise à niveau qui résout un problème avec le fichier osgi.properties
; l'arrêt de Payara Micro en utilisant Ctrl+C
; et des images Docker mises à jour qui incluent Azul Platform Core for Distribution. Il a également été annoncé que Payara Platform 4 entrera dans la phase de support étendu à partir d'août 2022. Plus de détails sur cette version peuvent être trouvés dans les release notes.
Eclipse GlassFish
En route vers GlassFish 7.0.0, la septième version milestone a été mise à disposition par la fondation Eclipse pour fournir des modifications telles que : l'ajout d'un JAR d'API de concurrence à la configuration par défaut de Servlet JSP ; un profil JDK 17 pour la dépendance MicroProfile ; intégrant OmniConcurrent RC3 ; et l'ajout d'un exécuteur TCK pour la spécification Jakarta Bean Validation. De plus amples détails sur cette version peuvent être trouvés dans les release notes.
Micronaut
La Fondation Micronaut a publié Micronaut Framework 3.5.3 avec un correctif pour un JAR exécutable qui affectait les applications construites avec Grail 5.2.0 et Micronaut. Plus de détails sur cette version peuvent être trouvés dans les release notes.
Hibernate
En route vers Hibernate Search 6.2.0, la première version alpha a été mise à disposition avec un nouveau mappeur POJO autonome qui permet aux développeurs de mapper des objets arbitraires à un index, même si ces objets ne sont pas des entités Hibernate ORM. Des intégrations personnalisées sont désormais possibles avec les magasins de données NoSQL.
GraalVM Native Build Tools
En route vers la version 1.0, Oracle Labs a publié la version 0.9.13 de Native Build Tools, un projet GraalVM composé de plugins pour l'interopérabilité avec GraalVM Native Image. Cette dernière version fournit : une inversion d'un changement dans le NativeImagePlugin qui supprimait les constantes accessibles au public, telles que NATIVE_TEST_EXTENSION
, qui cassaient les plugins externes. De plus amples détails sur cette version peuvent être trouvés dans le changelog.
Projet Reactor
En route vers projet Reactor 2022.0.0, la quatrième version milestone a été mise à disposition avec des mises à niveau des dépendances vers les artefacts reactor-core
3.5.0-M4 et reactor-netty
1.1.0-M4 et un réalignement vers la milestone 4 avec reactor-pool
1.0.0-M4, reactor-addons
3.5.0-M4 et les artefacts reactor-kotlin-extensions
1.2.0-M4.
Piranha
Piranha 22.7.0 a été publié. Surnommée l'édition "Welcome Servlet 6/EE 10" pour juillet 2022, cette version comprend : une implémentation initiale du serveur HTTP utilisant des threads virtuels ; la prise en charge de Jakarta Servlet 6.0 ; et une implémentation initiale du TCK Servlet. Plus de détails sur cette version peuvent être trouvés dans leur documentation et outil de suivi des problèmes.
PrimeFaces
PrimeFaces, un fournisseur de bibliothèques de composants d'interface utilisateur open source, a mis à disposition les versions ponctuelles de PrimeFaces 8.0.19, 10.0.14 et 11.0.6. Les correctifs notables de cette version incluent : un deuxième clic requis pour fermer le panneau DataPicker ; une erreur JavaScript lors de l'invocation d'une requête AJAX ; un modèle d'annotation @RequestScoped
cassé ; et les opérations filterBy
et sortBy
échouent lors de l'exécution d'un changement d'ordre des colonnes.
JobRunr
Ronald Dehuysser, fondateur et développeur principal de JobRunr, un utilitaire permettant d'effectuer un traitement en arrière-plan en Java, a publié la version 5.1. 5 qui est livré avec des correctifs de bugs notables pour résoudre : ElasticSearch qui ne prend pas en charge plus de 10 tâches récurrentes ; et la configuration automatique de Spring initialisant prématurément certains beans Spring, ce qui a entraîné la fonctionnalité manquante d'autres composants.
Apache Tomcat Native
L'Apache Software Foundation a publié la version 2.0.1 de Apache Tomcat Native, un composant Apache Tomcat facultatif qui permet à Tomcat d'utiliser OpenSSL en remplacement de Java Secure Socket Extension (JSSE) pour prendre en charge les connexions TLS. Les nouvelles fonctionnalités incluent : l'API JNI a été réduite pour ne prendre en charge que l'implémentation TLS basée sur OpenSSL de Tomcat ; les versions minimales prises en charge mises à niveau vers OpenSSL 3.0.x, Apache APR 1.7.x, Java 11, Windows 7 et Windows Server 2008 R2 ; et les binaires Windows construits avec OpenSSL 3.0.5. Le connecteur APR/natif n'est plus supporté dans cette branche. De plus amples détails sur cette version peuvent être trouvés dans le changelog.