Le tour d'horizon dans l'écosystème Java de cette semaine du 25 avril 2022 présente des nouvelles des JEP ciblées pour le JDK 19, le projet Loom Build 19-loom+6-625, Spring Cloud 2021.0.2, Spring Tools 4.14.1, GraalVM 22.1.0, Micronaut 3.4.3, MicroStream 7.0, Quarkus 2.8.2, Apache Camel 1.9.0 et l'enquête New Relic State of the Java Ecosystem.
OpenJDK
Après la fin de son examen d'une semaine, la JEP 426, Vector API (Fourth Incubator), a été promue du statut Proposed to Target à Targeted pour le JDK 19. Cette JEP, sous les auspices du Project Panama, intègre des améliorations en réponse aux commentaires des trois cycles d'incubation précédents : la JEP 417, Vector API (Third Incubator) (livrée dans le JDK 18), la JEP 414, Vector API (Second Incubator) (livrée dans le JDK 17), et la JEP 338, Vector API (Incubator), livrée sous la forme d'un module incubateur dans le JDK 16. La JEP 426 propose d'améliorer l'API Vector pour charger et stocker des vecteurs vers et depuis un MemorySegment
tel que défini par la JEP 424, Foreign Function & Memory API (Preview).
La JEP 427, Pattern Matching for switch (Third Preview), à l'origine promue de son statut JEP Draft 8282272 à Candidate la semaine dernière, a été rapidement promue de Candidate à Proposed to Target pour le JDK 19. Cette JEP, sous les auspices du Projet Amber, intègre des améliorations en réponse aux commentaires des deux précédentes séries de preview : la JEP 406, Pattern Matching for switch (Preview) (fournie dans le JDK 17) et la JEP 420, Pattern Matching for switch (Second Preview) (fournie dans le JDK 18). Les modifications par rapport à la JEP 420 incluent : les guarded patterns sont remplacés par des clauses when
dans les blocs switch
; et la sémantique d'exécution d'un pattern switch est plus étroitement alignée sur la sémantique du switch legacy lorsque la valeur de l'expression du sélecteur est null
. L'examen devrait se terminer le 5 mai 2022.
La JEP 425, Virtual Threads (Preview), a été promue du statut de Candidate au statut de Proposed to Target pour le JDK 19. Cette JEP, sous les auspices du Projet Loom, introduit des threads virtuels, des threads légers qui réduisent considérablement l'effort d'écriture, de maintenance et de l'observation des applications concurrentes à haut débit, dans la plate-forme Java. L'examen devrait se terminer le 5 mai 2022.
JDK 19
Le Build 20 du JDK 19 early-access builds a été mis à disposition la semaine dernière, avec des mises à jour du Build 19 qui incluent des correctifs pour divers problèmes. Plus de détails peuvent être trouvés dans les release notes.
Pour le JDK 19, les développeurs sont encouragés à signaler les bugs via la Java Bug Database.
Projet Loom
La version 19-loom+6-625 du projet Loom early-access builds a été mise à la disposition de la communauté Java et est basée sur le Build 20 des early-access builds du JDK 19.
Spring Framework
Après une semaine précédente très chargée, les choses étaient un peu plus calmes la semaine dernière chez Spring.
Spring Cloud 2021.0.2 a été publié qui est livré avec des corrections de bugs et des améliorations des sous-projets Spring Cloud : Commons, Sleuth, Contract, OpenFeign, Netflix, CircuitBreaker et Kubernetes. Plus de détails sur cette version peuvent être trouvés dans les release notes.
Spring Tools 4.14.1 a été publié avec des correctifs et des améliorations pour Spring Boot, VS Code et Eclipse. De plus amples détails sur cette version peuvent être trouvés dans la changelog et les développeurs peuvent s'attendre à ce que Spring Tools 4.15.0 soit publié à la mi-juin 2022.
GraalVM
Oracle Labs a publié GraalVM 22.1.0 avec : un nouveau mode de construction rapide pour créer des images natives ; une version préliminaire pour prendre en charge Apple Silicon (Darwin AArch64) ; des améliorations apportées à la prise en charge des langages de programmation Python, Ruby, JavaScript et R ; et des améliorations de Java on Truffle. GraalVM 22.1 est livré avec les builds JDK 11 et JDK 17. Vous trouverez plus de détails sur cette version dans cette vidéo YouTube.
Micronaut
La Fondation Micronaut a publié Micronaut 3.4.3 avec : des corrections de bugs liés à désérialisation du format Base64
dans un tableau de byte
; des améliorations de la documentation; l'interception d'une coroutine Kotlin ; l'héritage de groupe de validation ; et une release d'un correctif de Micronaut Problem JSON, un projet Micronaut qui produit une réponse de type application/problem+json
à partir d'une application Micronaut. De plus amples détails sur cette version peuvent être trouvés dans la changelog.
MicroStream
MicroStream a publié MicroStream 7.0 qui fournit : une nouvelle API qui expose la logique existante du sérialiseur MicroStream ; une nouvelle extension CDI pour configurer une instance de la classe EmbeddedStorage, la définition de l'objet racine et stocker les collections définies dans l'objet racine automatiquement à l'aide d'un modèle d'intercepteur ; et une journalisation améliorée avec SLF4J. InfoQ suivra avec une nouvelle plus détaillée.
Quarkus
Red Hat a fourni une seconde version de maintenance avec Quarkus 2.8.2.Final qui est livrée avec des corrections de bugs, des améliorations dans la documentation et des mises à niveau de dépendance telles que SmallRye GraphQL 1.4.5, SmallRye JWT 3.4.0, Flyway 8.5.9 et Micrometer 1.8.5. Plus de détails sur cette version peuvent être trouvés dans la changelog.
Apache Camel
La version 1.9.0 d'Apache Camel K a été publiée avec : la possibilité de télécharger des dépendances locales sous forme de fichier JAR directement dans une intégration ; rediriger systématiquement tous les avertissements de la sortie CLI vers stderr
; et un catalogue Camel Kamelet 0.8.0 mis à jour. Camel K est composé d'une pile technologique qui comprend : Camel K Runtime 1.13.0 ; Camel Quarkus 2.8.0; Camel 3.16.0 ; et Camel Kamelets 0.8.0. De plus amples détails sur cette version peuvent être trouvés dans la changelog et ce que les développeurs peuvent attendre de Camel K dans la feuille de route 2022.
New Relic Survey
New Relic a publié les conclusions de son Enquête sur l'état de l'écosystème Java dans laquelle ils ont examiné : la version de JDK et les algorithmes de ramasses-miettes les plus utilisés de production ; les vendeurs les plus populaires ; l'essor des conteneurs ; et les configurations de taille de tas les plus courantes. InfoQ suivra avec une nouvelle plus détaillée.