BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Le Point Sur L'Actualité De Java - Semaine Du 11 Octobre 2021

Le Point Sur L'Actualité De Java - Semaine Du 11 Octobre 2021

Le tour d'horizon dans l'écosystème Java de cette semaine du 11 octobre 2021 présente des nouvelles d'OpenJDK, JDK 18, Spring Framework, Grails 5.0, Micronaut 3.1, Helidon 2.3.4, les versions ponctuelles et GA d'Hibernate ORM et Reactive, des mises à jour liées à la récente version GA de WildFly 25, GraalVM Native Build Tools 0.9.6, Apache Camel 3.11.3, Piranha 21.10.0 et JetBrains introduisant la bibliothèque de tableaux multidimensionnels Multik pour Kotlin.

OpenJDK

Après un examen d'une semaine, la JEP 408, Simple Web Server, a été promue de Proposed to Target à Targeted pour le JDK 18. Cette JEP fournit un serveur Web HTTP minimal en ligne de commande qui ne sert que des fichiers statiques. Cet utilitaire est conçu pour être utile pour le prototypage, le codage ad hoc et les tests, en particulier dans un environnement éducatif. Le serveur peut être démarré comme suit :

    
$ java -m jdk.httpserver [-b bind address] [-p port] [-d directory] [-h to show help message] [-o none|default|verbose]
    

La JEP 419, Foreign Function & Memory API (Second Incubator), a été promue de Draft au statut Candidate. Cette JEP fait évoluer la première incubation, la JEP 412, Foreign Function & Memory API (Incubator), livrée le dans JDK 17, pour incorporer des améliorations basées sur les commentaires de la communauté Java. Les changements dans cette deuxième incubation incluent : la prise en charge de davantage de supports dans les var handles d'accès mémoire tels que boolean et MemoryAddress ; une API de déréférencement plus générale pour les MemoryAddress et MemorySegment ; une API plus simple pour obtenir des méthodes de downcall telles que le passage d'un MemoryType n'est plus nécessaire ; et une nouvelle API pour copier des tableaux Java vers et depuis des segments de mémoire.

JDK 18

Le build 19 du JDK 18 early-access builds a été rendue disponible la semaine dernière, avec des mises à jour du build 18 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.

L'ensemble des fonctionnalités du JDK 18 se présente actuellement comme suit :

Les développeurs sont encouragés à signaler les bogues via la Java Bug Database.

Spring Framework

Des versions ponctuelles de Spring Framework ont été mises à disposition la semaine dernière.

La version 5.3.11 contient 32 correctifs et améliorations et la version 5.2.18.RELEASE contient 10 correctifs et améliorations. Les deux versions comportent une classe DefaultResponseErrorHandler améliorée qui permet de définir un corps de réponse d'erreur complet. Les autres nouvelles fonctionnalités de la version 5.3.11 incluent : l'ajout de la prise en charge d'une déclaration d'enregistrement non public ; et invoquer directement la méthode close() hérité des beans implémentant les interfaces Closeable et AutoCloseable.

Grails

La Grails Foundation a publié Grails 5.0 avec des mises à niveau des dépendances vers Apache Groovy 3, Micronaut Framework 3, Gradle 7, Spring Boot 2.5, Spring Framework 5.3 et Spock 2.0. D'autres changements notables incluent : la dépréciation de la navigation basée sur des « points » ; un nouveau autowire par type qui remplace l'autowire par nom ; et les modifications apportées au plugin Gradle. Plus de détails peuvent être trouvés dans les release notes et la documentation. InfoQ suivra avec un reportage plus détaillé.

Micronaut

La Micronaut Foundation a publié Micronaut 3.1 qui inclut de nombreuses nouvelles fonctionnalités telles que : la prise en charge du JDK 17 ; les beans factory peuvent désormais créer des beans de type tableau primitif ou primitif ; une nouvelle annotation @InjectScope qui détruit les beans sans portée définie ; une optimisation sur la façon dont les classes sont générées pour prendre en charge les introspections de beans ; la prise en charge améliorée de la propagation de contexte avec Kotlin ; et la possibilité d'utiliser des expressions régulières pour les filtres HTTP.

Helidon

Helidon 2.3.4, une version de maintenance, a été rendue disponible la semaine dernière avec des améliorations telles que : la résolution de problèmes avec le composant WebServer dans lequel [a] le serveur Netty se bloque sous charge, et [b] une race condition existe lors de l'analyse si l'entité est entièrement lue ; la correction d'un problème avec le composant WebClient pour relativiser une URI de requête si un hôte est dans la liste des non-hôtes ; et la résolution les problèmes avec le composant Metrics où [a] le nouveau PeriodicExecutor peut enregistrer de manière incorrecte un message d'avertissement et le texte de cet avertissement peut être erroné, et [b] une version native-image échouée en raison d'une optimisation des performances des métriques. Vous trouverez plus de détails dans les release notes.

Hibernate

Ce fut une semaine chargée chez Hibernate car ils ont fourni des versions ponctuelles et GA sur Hibernate ORM et Hibernate Reactive.

Hibernate ORM 5.6.0.Final a été publié avec une correction de bug lié à une erreur lors de la combinaison de @EmbeddedId avec @MapsId, une mise à niveau des dépendances vers ByteBuddy 1.11.20 et des avertissements de dépréciation supplémentaires en préparation pour Hibernate ORM 6.0.

En route vers Hibernate ORM 6.0, la première version bêta a été mise à disposition avec : une migration vers la spécification Jakarta Persistence ; un système de typage amélioré qui introduit le nouveau concept de lecture par position pour la lecture des résultats JDBC ; de nouvelles annotations de type ; et une meilleure prise en charge des fuseaux horaires. De plus amples détails peuvent être trouvés dans le guide de l'utilisateur, le guide de migration et la page de release.

Hibernate Reactive 1.0.0.CR10 a été publié pour inclure la prise en charge de la validation et la mise à jour automatiques du schéma pour les bases de données MySQL, Db2 et MS SQL Server.

WildFly

Ce fut également une semaine chargée pour l'équipe WildFly car un certain nombre de mises à jour liées à WildFly 25 ont été mises à la disposition de la communauté Java.

Les images Docker WildFly 25 Source-to-Image (S2I) ont été publiées sur quay.io, l'utilitaire de Red Hat pour créer, analyser et distribuer des images de conteneurs. Ces images incluent des modifications liées à la version GA de WildFly 25.

Les fonctionnalités de la version du plugin Maven WildFly Bootable JAR 6.0 incluent  : de nouveaux exemples pour illustrer le l'approvisionnement Galleon introduit dans WildFly 25 ; la génération automatique d'un certificat de sécurité auto-signé ; et le support natif pour OpenID Connect. Vous trouverez plus de détails dans cet article de blog.

Wildfly 25 prend en charge la spécification MicroProfile Reactive Messaging 2.0. Sur la base de la mise en œuvre de SmallRye Reactive Messaging, les développeurs peuvent désormais profiter de la nouvelle annotation @Channel et de l'interface Emitter pour pousser les données vers un flux réactif depuis une application.

GraalVM

En route vers la version 1.0, Oracle Labs a publié la version 0.9.6 des Native Build Tools, un projet GraalVM composé de plugins d'interopérabilité avec GraalVM Native Image. Cette version propose une intégration avec JUnit 5.8, mais introduit un changement majeur impliquant que les utilisateurs de Maven devront définir une extension de plugin avec la version 0.9.6 :

    
<plugin>
    <groupId>org.graalvm.buildtools</groupId>
    <artifactId>native-maven-plugin</artifactId>
    <version>${native.maven.plugin.version}</version>
    <extensions>true</extensions>
</plugin>
    

La dépendance junit-platform-native n'est plus nécessaire dans Maven, mais les utilisateurs de Gradle devront toujours le faire.

Apache Camel

Apache Camel 3.11.3 a été mis à disposition avec 26 corrections de bugs et améliorations telles que des mises à niveau de dépendances à Apache Karaf 1.1.11 et Camel Spring Boot 2.5.5. Vous trouverez plus de détails dans les release notes.

Piranha

Piranha 21.10.0 a été publiée. Surnommée l'édition "notre première version prise en charge", cette version comporte une nouvelle branche de support pour s'aligner sur les versions LTS de Java commençant par JDK 17 et prendra également en charge Jakarta EE. Vous trouverez plus de détails dans leur documentation et l'outil de suivi des problèmes.

La bibliothèque Multik pour Kotlin

JetBrains a introduit Multik 0.1, une nouvelle bibliothèque de tableaux multidimensionnels pour Kotlin, qui peut lire/écrire des fichiers .csv, effectuer des opérations d'algèbre linéaire, supporter les nombres complexes et améliorer les performances des fonctions existantes. Plus de détails peuvent être trouvés dans ce blog post. InfoQ suivra avec une nouvelle plus détaillée.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT