banner
Maison / Nouvelles / Tour d'horizon des actualités Java : JEP pour JDK 21, Hibernate Reactive 2.0, Payara nommée autorité de numérotation CVE
Nouvelles

Tour d'horizon des actualités Java : JEP pour JDK 21, Hibernate Reactive 2.0, Payara nommée autorité de numérotation CVE

Oct 26, 2023Oct 26, 2023

Accueil InfoQ Actualités Tour d'horizon des actualités Java : JEP pour JDK 21, Hibernate Reactive 2.0, Payara nommé CVE Numbering Authority

05 juin 2023 9 minutes de lecture

par

Michel Redlich

Le résumé Java de cette semaine pour le 29 mai 2023 présente des nouvelles d'OpenJDK, JDK 21, GlassFish 7.0.5, Payara, Open Liberty 23.0.0.5, IBM Semeru Runtimes, Micronaut 4.0-M6, Quarkus 3.1, Hibernate ORM 6.2.4, Hibernate Reactive 2.0, Hibernate Search 6.2.Beta1, Camel Quarkus 3.0-M2, Camel 3.14.8, Tomcat Native 2.0.4 et 1.2.37, Ktor 2.3.1, Multik 0.2.2, JobRunr 6.2.1, JDKMon 17.0.63 et Niveau 8.2-RC1.

JEP 452, Key Encapsulation Mechanism API, a été promu deProposé à ciblerpourCiblé pour JDK 21. Cette fonctionnalité de type JEP propose de : satisfaire les implémentations des algorithmes standards Key Encapsulation Mechanism (KEM) ; satisfaire les cas d'utilisation de KEM par des protocoles de sécurité de niveau supérieur ; et permettre aux fournisseurs de services de brancher Java ou des implémentations natives d'algorithmes KEM. Ce JEP a été récemment mis à jour pour inclure un changement majeur qui élimine leDerivedKeyParameterSpecclasse en faveur du placement des champs dans la liste d'arguments de laencapsuler(int from, int to, String algorithm) méthode. InfoQ suivra avec une nouvelle plus détaillée.

JEP 451, Préparez-vous à interdire le chargement dynamique des agents, a été promu deProposé à ciblerpourCiblépour JDK 21. Initialement connu sous le nom de Disallow the Dynamic Loading of Agents by Default, et suivant l'approche deProjet de JEP 8305968 , Integrity et Strong Encapsulation, cette JEP a évolué à partir de son intention initiale d'interdire le chargement dynamique d'agents dans une JVM en cours d'exécution par défaut pour émettre des avertissements lorsque des agents sont chargés dynamiquement dans une JVM en cours d'exécution. Les objectifs de ce JEP sont les suivants : réévaluer l'équilibre entre l'état de fonctionnement et l'intégrité ; et s'assurer qu'une majorité d'outils, qui n'ont pas besoin de charger dynamiquement des agents, ne sont pas affectés.

JEP 453, Structured Concurrency (Preview), a été promu deCandidatpourProposé à cibler pour JDK 21. Anciennement une API d'incubation, cet aperçu initial intègre des améliorations en réponse aux commentaires des deux cycles d'incubation précédents : JEP 428, Structured Concurrency (Incubator), livré dans JDK 19 ; et JEP 437, Structured Concurrency (Second Incubator), livré dans JDK 20. Le seul changement significatif concerne lefourchette()méthode, définie dans laStructuredTaskScopeStructuredTaskScopeclasse, renvoie une instance deTaskHandlePlutôt qu'unAvenirdepuis leobtenir()méthode dans laTaskHandlel'interface a été restructurée pour se comporter de la même manière queresultNow()méthode dans laAvenir interface. L'examen devrait se terminer le 6 juin 2023.

JEP 446, Scoped Values ​​(Preview), a été promu deCandidatpourProposé à cibler pour JDK 21. Anciennement connue sous le nom de variables locales d'étendue (incubateur), cette JEP est désormais une fonctionnalité d'aperçu suivant la JEP 429, Scoped Values ​​(Incubator), livrée dans JDK 20. Cette JEP propose de permettre le partage de données immuables dans et entre les threads . Ceci est préférable aux variables locales de thread, en particulier lors de l'utilisation d'un grand nombre de threads virtuels. L'examen devrait se terminer le 6 juin 2023.

La version 25 des versions à accès anticipé du JDK 21 a également été mise à disposition la semaine dernière avec des mises à jour de la version 24 qui incluent des correctifs à divers problèmes. De plus amples détails sur cette version peuvent être trouvés dans les notes de version.

Pour JDK 21, les développeurs sont encouragés à signaler les bogues via la base de données de bogues Java.

GlassFish 7.0.5, la cinquième version de maintenance, offre une nouvelle fonctionnalité qui met à jour de manière asynchrone l'état de l'instance dans la console d'administration. Les correctifs de bogues notables incluent : le prétraitement récursif du bytecode au moment du déploiement dans leWebappClassLoader classe; le serveur JMX acceptant un objet arbitraire comme informations d'identification ; et une erreur de validation lors du déploiement d'une application sur un cluster. Plus de détails sur cette version peuvent être trouvés dans les notes de version.

Payara a été autorisée par le programme Common Vulnerabilities and Exposures (CVE) en tant qu'autorité de numérotation CVE (CNA). Payara est désormais autorisée à publier des informations faisant autorité sur la vulnérabilité de la cybersécurité de ses produits via le programme CVE.

Discutant de la manière dont Payara peut mieux soutenir ses clients, Fabio Turizo, responsable du service et ingénieur senior chez Payara, a déclaré :

Devenir une autorité de numérotation CVE crée un niveau supplémentaire de fiabilité pour ceux qui utilisent nos produits et poursuit notre engagement à respecter et à maintenir les meilleures normes de sécurité possibles. Un avantage clé est la tranquillité d'esprit lors du développement de vos applications Jakarta EE critiques. En tant qu'autorité de numérotation CVE, nous nous assurons que lorsque des problèmes surviennent, ils peuvent être rapidement identifiés et une solution trouvée, avec une facilité de communication et une transparence totale.

Le programme CVE est parrainé par la Cybersecurity and Infrastructure Security Agency du Department of Homeland Security des États-Unis. Payara rejoint des organisations telles que The Apache Software Foundation, VMware, Oracle et IBM telles que définies dans la liste des partenaires CNA.

IBM a publié Open Liberty 23.0.0.5 avec des mises à jour de 44 des guides Open Liberty qui prennent désormais en charge MicroProfile 6 et Jakarta EE 10. Ceux-ci incluent : Consommer un service Web RESTful ; Accès et conservation des données dans les microservices à l'aide de l'API Java Persistence (JPA) ; et déploiement d'un microservice sur Kubernetes à l'aide d'Open Liberty Operator. Il y avait aussi des corrections de bogues notables telles que : une fuite de mémoire trouvée dans leSchemaRegistry classe dans la spécification MicroProfile Open API ; Et unEntryNotFoundExceptionlors de la définition d'une propriété de type non identifiant pour le mappage d'entrée/sortie des registres fédérés.

IBM a également publié les versions 19.0.2, 17.0.7, 11.0.19 et 8.0.372 de leur Semeru Runtime, Open Edition, dans le cadre de leur mise à jour trimestrielle. Vous trouverez plus de détails sur cette version dans les notes de version.

Sur la route de la version 4.0, la Fondation Micronaut a fourni la sixième version de Micronaut 4.0.0 qui fournit des corrections de bogues, des mises à niveau des dépendances et de nouvelles fonctionnalités et améliorations telles que : de nouvelles interfaces,PropagatedContextPropagatedContextetMutablePropagationContextMutablePropagationContext , pour les filtres HTTP ; meilleure sélection dans leMessageBodyHandler interface; et la capacité de faire leNettyClientSslBuilder classe enfichable. Plus de détails sur cette version peuvent être trouvés dans les notes de version.

La version de Quarkus 3.1.0.Final apporte des modifications : une nouvelle API pour créer par programmation des clients REST réactifs comme alternative à l'utilisation d'un fichier de propriétés ; la possibilité de personnaliser les en-têtes de réponse réactive RESTEasy et le code d'état pour plus de flexibilité dans les réponses en continu ; une variante réactive de l'extension Security Jakarta Persistence,quarkus-security-jpa-réactif , basé sur Hibernate Reactive ; et l'audience du jeton d'ID OIDC est désormais vérifiée par défaut. Il y a également eu des mises à niveau de dépendance vers Kotlin 1.8.21 et le pilote Oracle JDBC 23.2.0.0. Vous trouverez plus de détails sur cette version dans les notes de version.

L'équipe Hibernate a fourni des versions GA, ponctuelles et bêta d'Hibernate Reactive, Hibernate ORM et Hibernate Search, respectivement.

La version d'Hibernate Reactive 2.0.0.Final fournit des mises à niveau des dépendances et des corrections de bogues telles que :ClassCastException lorsque plusieurs champs sont paresseux et que l'amélioration du bytecode est activée ; la pagination ne fonctionne pas pour certaines requêtes avec Microsoft SQL Server ; et les expressions lambda provoquant unNoSuchMethodError exception au démarrage de l'application. Cette nouvelle version est compatible avec Hibernate ORM 6.2.4.Final et Vert.x SQL client 4.4. Vous trouverez plus de détails sur cette version dans la liste des problèmes.

La version d'Hibernate ORM 6.2.4.Final est livrée avec des corrections de bogues et des changements notables : résolutions du problème de pollution de type JDK (JDK-8180450) ; et supprimer la prise en charge de la génération de métamodèles statiques JPA dans le plug-in Hibernate Gradle.

La première version bêta d'Hibernate Search 6.2.0 comprend : de nombreuses corrections de bogues et améliorations ; mises à niveau de dépendance ; compatibilité avec Elasticsearch 8.8 et OpenSearch 2.7 ; une mise à niveau du-orm6 artefacts à Hibernate ORM 6.2.4.Final ; et une nouvelle fonctionnalité, Mise en surbrillance dans l'API de recherche, une projection qui renvoie des fragments de champs de texte intégral de documents correspondants qui ont provoqué une correspondance de requête. Les termes spécifiques à l'origine de la correspondance sont mis en évidence par une paire de balises d'ouverture et de fermeture, de sorte que les développeurs peuvent rapidement identifier les informations de recherche sur une page de résultats.

L'Apache Software Foundation a fourni des versions ponctuelles et jalons d'Apache Camel, Apache Camel Quarkus et Apache Tomcat Native Library, un composant facultatif à utiliser avec Apache Tomcat qui permet à Tomcat d'utiliser OpenSSL en remplacement de Java Secure Socket Extension (JSSE) pour prendre en charge Connexions TLS.

La version d'Apache Camel 3.14.8 propose des mises à niveau des dépendances et des corrections de bogues notables telles que : suppression des exceptions dans leRedeliveryErrorHandlerRedeliveryErrorHandler la classe provoque une fuite de mémoire et un problème de journalisation ; une application ne récupère pas en raison de threads en attente lorsque le pool de threads duNettyProducteur la classe est épuisée; et leonFailure()méthode de rappel définie dans leOnCompletionProcessor classe est exécutée plusieurs fois. Vous trouverez plus de détails sur cette version dans les notes de version.

Apache Tomcat Native 2.0.4 a été publié avec des mises à niveau de dépendance vers Apache Portable Runtime (APR) 1.7.4 et OpenSSL 3.0.9. Plus de détails sur cette version peuvent être trouvés dans le changelog.

De même, Apache Tomcat Native 1.2.37 a également été publié avec des mises à niveau de dépendance vers APR 1.7.4 et OpenSSL 1.1.1u. De plus amples détails sur cette version peuvent être trouvés dans le changelog.

La deuxième version importante de Camel Quarkus 3.0.0 présente de nombreux problèmes résolus tels que : des échecs intermittents dans les tests natifs JDBC et laMyBatisConsumerTest classe; une fuite de ressources JDBC duChameauJdbcTest classe; et la prise en charge de Groovy provoque un échec avec l'intégration continue. Cette version s'aligne sur Quarkus 3.1.0.Final et Camel 4.0.0-M3. Plus de détails sur cette version peuvent être trouvés dans les notes de version.

JetBrains a fourni des versions ponctuelles pour Ktor, un cadre asynchrone pour la création de microservices et d'applications Web, et Multik, une bibliothèque de tableaux multidimensionnels pour Kotlin.

La version de Ktor 2.3.1 apporte des correctifs de bogues notables tels que : Ktor Client sous Javascript incapable de diffuser les réponses d'un serveur ; requêtes vers une route inexistante provoquant le blocage du serveur après avoir répondu avec HTTP 404 (un DoS potentiel) ; et la configuration YAML incapable de lire les variables à partir d'elle-même. Vous trouverez plus de détails sur cette version dans les notes de version.

La version de Multik 0.2.2 fournit de nouvelles fonctionnalités qui incluent : une prise en charge étendue de toutes les plates-formes JVM dans lemultik-par défaut module; fonctionnalité pour créer un tableau à partir de listes de différentes tailles ; un talon pour la décomposition en valeurs singulières ; et la prise en charge des formats npy et npz pour JVM dans lemulticœur module. Il y a également eu des mises à niveau de dépendance vers Kotlin 1.8.21 et OpenBLAS 0.3.23.

JobRunr 6.2.1 a été publié avec des correctifs de bogues pour résoudre les problèmes de compatibilité avec : Quarkus 3.0 lors de l'utilisation de JSONB ; et les enregistrements Java ne fonctionnent pas avec leJacksonJsonMappeurclasse.

La version 17.0.63 de JDKMon, un outil qui surveille et met à jour les JDK installés, a été mise à disposition la semaine dernière. Créée par Gerrit Grunwald, ingénieur principal chez Azul, cette nouvelle version apporte une amélioration liée au chargement des vulnérabilités et des expositions courantes.

La première version candidate de Gradle 8.2 présente des améliorations telles que : une nouvelle documentation de référence pour le Kotlin DSL ; rapport d'erreur propre et exploitable pour la sortie de la console ; et la vérification des dépendances qui atténue les risques de sécurité avec des dépendances compromises. Plus de détails sur cette version peuvent être trouvés dans les notes de version.

Codez, déployez et mettez à l'échelle Java à votre façon. Microsoft Azure prend en charge votre charge de travail avec de nombreux choix, que vous travailliez sur une application Java, un serveur d'applications ou un framework. Apprendre encore plus.

Écrire pour InfoQ a ouvert de nombreuses portes et augmenté les opportunités de carrière pour moi. J'ai pu m'engager profondément avec des experts et des leaders d'opinion pour en savoir plus sur les sujets que j'ai abordés. Et je peux également diffuser mes apprentissages à la communauté technologique au sens large et comprendre comment les technologies sont utilisées dans le monde réel.

J'ai découvert le programme de contributeur d'InfoQ plus tôt cette année et je l'apprécie depuis ! En plus de me fournir une plate-forme pour partager l'apprentissage avec une communauté mondiale de développeurs de logiciels, le système d'évaluation par les pairs d'InfoQ a considérablement amélioré mon écriture . Si vous cherchez un endroit pour partager votre expertise logicielle, commencez à contribuer à InfoQ.

J'ai commencé à écrire des nouvelles pour la file d'attente InfoQ .NET afin de me tenir au courant de la technologie, mais j'en ai retiré tellement plus. J'ai rencontré des gens compétents, obtenu une visibilité mondiale et amélioré mes compétences en écriture.

Devenir éditeur pour InfoQ a été l'une des meilleures décisions de ma carrière . Cela m'a mis au défi et m'a aidé à grandir de tant de façons . Nous aimerions avoir plus de monderejoins notre équipe.

InfoQ recherche un rédacteur en chef à temps plein pour rejoindre l'équipe internationale et toujours distante de C4Media. Rejoignez-nous pour couvrir les technologies les plus innovantes de notre époque, collaborer avec les praticiens du logiciel les plus brillants au monde et aider plus de 1,6 million d'équipes de développement à adopter de nouvelles technologies et pratiques qui repoussent les limites de ce que les logiciels et les équipes peuvent offrir !

Un résumé du contenu de la semaine dernière sur InfoQ envoyé tous les mardis. Rejoignez une communauté de plus de 250 000 développeurs seniors. Voir un exemple

Nous protégeons votre vie privée.

Vous devez enregistrer un compte InfoQ ou vous connecter ou vous connecter pour publier des commentaires. Mais il y a tellement plus derrière l'inscription.

Tirez le meilleur parti de l'expérience InfoQ.

HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p

HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p

HTML autorisé : a,b,br,blockquote,i,li,pre,u,ul,p

Rejoignez une communauté d'experts. Proposé à la cible TargetedKeyParameterSpec encapsulate(int from, int to, String algorithm) Proposé à la cible Targeted JEP Draft 8305968 Candidate Proposé à Target fork() StructuredTaskScope TaskHandle Future get() TaskHandle resultNow() Future Candidate Proposé à Target WebappClassLoader SchemaRegistry EntryNotFoundException PropagatedContext MutablePropagationContext MessageBodyHandler NettyClientSslBuilder quarkus-security-jpa-reactive ClassCastException NoSuchMethodError -orm6 RedeliveryErrorHandler NettyProducer onFailure() OnCompletionProcessor MyBatisConsumerTest CamelJdbcTest multik-default multik-core JacksonJsonMapper Michael Redlich a ouvert de nombreuses portes et augmenté les opportunités de carrière le système a considérablement amélioré mon écriture Oghenevwede Emeni a obtenu une visibilité mondiale et amélioré mes compétences en écriture Edin Kapić les meilleures décisions de ma carrière m'ont aidé à grandir à bien des égards rejoignez notre équipe Thomas Betts Rédacteur en chef à plein temps L'InfoQ Tirez le meilleur parti de l'InfoQ expérience.