【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

Java 近期新闻:OpenJDK、Spring 升级和 CVE、Payara 平台以及 Apache Tomcat 升级

  • 2022-06-10
  • 本文字数:3831 字

    阅读完需:约 13 分钟

Java近期新闻:OpenJDK、Spring升级和CVE、Payara平台以及Apache Tomcat升级

本期的 Java 新闻包括 JDK 19、OpenJDK、Jakarta EE 10、Spring 里程碑和小版本升级以及 CVE、Payara 平台发布、Quarkus 2.9.1.Final、Micronaut 3.4.4、WildFly 16.1.1、Hibernate ORM 5.6.9.Final、Hibernate Reactive 11.5.Final、JDKMon 17.0.25、JobRunr 5.1.2、JReleaser 早期访问版本、Apache Tomcat 小版本发布以及 Apache Camel 3.17.0。

OpenJDK

尽管为期一周的审查已经在 2022 年 5 月 19 日结束,但是 JEP 405,Record Patterns(Preview)依然处于 JDK 19 的 Proposed to Target 状态。在Amber项目的支持下,这个 JEP 提议使用 record 模式来增强该语言,从而实现 record 值的解构。Record 模式可以与 type 模式联合使用,从而“实现强大的、声明式的以及可组合形式的数据导航和处理”。Type 模式最近通过 JEP 406,Pattern Matching for switch(Preview)(在 JDK 17 中交付)和 EP 420, Pattern Matching for switch(Second Preview)(在 JDK 18 中交付)被扩展到了switch case 标签中。


JEP 428,Structured Concurrency(Incubator)JEP Draft 8277129 状态提升到了 Candidate 状态。这个孵化中的 JEP 在Loom项目的支持下,提议通过引入一个库来简化多线程编程,它能够将运行在不同线程中的多个任务视为一个工作单元。这可以简化错误处理和任务取消功能,提升可靠性并增强可观测性。

JDK 19

JDK 19早期访问构建版本Build 23已经发布,它是 Build 22 的更新,包括对各种问题的修复。更多细节可以在发布说明中找到。


随着 Rampdown 第一阶段目标日期的临近(2022 年 6 月 9 日),JDK 19的特性集目前包含如下所示的六个特性:


鼓励开发者通过Java Bug数据库报告缺陷。

Jakarta EE

在通往 Jakarta EE 10 的道路上,Eclipse 基金会的 Jakarta EE 开发人员倡导者Ivar Grimstad在其 Hashtag Jakarta EE 每周博客宣布Jakarta EE 10平台规范进入发布审查的新目标日期是 2022 年 6 月 9 日。做出该决定是为了确保企业级应用能够完全兼容 JDK 11 和 JDK 17。另外,Eclipse GlassFish最近在7.0.0-M4和即将发布的 7.0.0-M5 版本之间提供了一个中间预发布版本,该版本已经顺利通过了 JDK 11 的 TCK,但要通过 JDK 17 的 TCK 依然还需要相关的工作。

Spring Framework

最近,对于 Spring 团队是非常繁忙的,他们提供了Spring BootSpring for GraphQLSpring DataSpring SessionSpring Security相关的小版本、里程碑版本以及 CVE。


Spring Boot 2.7.0发布,提供了如下功能:Spring for GraphQL 1.0的自动配置和度量;新的注解@DataCouchbaseTest@DataElasticsearchTest,分别用于 Couchbase 和 Elasticsearch 的测试。依赖升级,包括:Spring Data 2021.2、Spring HATEOAS 1.5、Spring LDAP 2.4、Spring Security 5.7 和 Spring Session 2021.2。关于这个版本的更多细节,可以在发布说明中找到。InfoQ 将在后续推出更详细的新闻报道。


Spring Boot 2.6.8发布,其中包括 35 个缺陷修复、文档改进和依赖升级。关于该版本的更多细节可在发布说明中找到。


Spring Boot 2.5.14发布,包括 29 个缺陷修复、文档改进和依赖升级。2.5 版本已经结束了其生命周期,开发者应该考虑升级到更高版本的 Spring Boot。关于这个版本的更多细节可以在发布说明中找到。


在通往 Spring Boot 3.0.0 的道路上,第三个里程碑版本已经发布,其特性包括:Micrometer Observation、Tracing 和OtlpMeterRegistry的自动配置,并恢复了对 REST Assured 和 Pooled JMS 的支持。关于这个版本的更多细节可以在发布说明中找到。


第一次提交到现在已经过去了两年,从第一次介绍给 Java 社区到现在也已经过去了 10 个月,Spring for GraphQL 1.0发布,其特性包括:为 data fetcher 提供了基于注解的编程模型;将QuerydslQuery by Example资源库(repository)作为 data fetcher;通过 HTTP、WebSocket 和 RSocket 改进服务器、客户端和测试;通过对数据@Controller方法的注解实现字段级的安全。InfoQ 将在后续推出更详细的新闻报道。


Spring Data 2021.2 和 2022.0 的第四个里程碑版本发布。2022.0 的发布列车将基于 Spring Framework 6、JDK 17 和 Jakarta EE 9。代号为 Raj 的 Spring Data 2021.2 特性包括:data-mongodb模块的声明式Update方法;data-jpa模块对@IdClass处理的改进;data-elasticsearch模块对重索引的支持;以及data-cassandra模块的直接投影。有关该版本的更多细节可在发布说明中找到。


Spring Session 2021.2发布,其特性是依赖升级到 Spring Data 2021.2。这个版本也是下一代的 Spring Session,该版本将建立在 Spring Framework 6.0 之上。


CVE-2022-22978,Authorization Bypass in RegexRequestMatcher已经得到解决,但无意中被写成了 CVE-2022-22975。使用RegexRequestMatcher类实例的应用程序,如果正则表达式中带有“.”,有可能会导致绕过授权的情况。


CVE-2022-22976,BCrypt Skips Salt Rounds for Work Factor of 31也已解决,它解决了一个整数溢出的错误,该错误会导致编码器不执行加盐轮转。


Spring Security 的 5.7.1、5.6.5 和 5.5.8 版本发布,提供了一个缺陷修复,StrictHttpFirewall类的实例错误地拒绝有效的中文、日文、韩文和越南文(CJKV)字符。


Spring Security 5.7.0、5.6.4、5.5.7 版本也已发布,解决了上述的 CVE-2022-22978 和 CVE-2022-22976 漏洞。


在通往 Spring Security 6.0.0 的道路上,第五个里程碑版本已经发布,值得注意的变化包括:每个分发类型都需要授权;将 shouldFilterAllDispatchTypes 属性的默认值改为 true;将默认的安全上下文过滤器从SecurityContextPersistenceFilter类改为SecurityContextHolderFilter类;并删除 SAML API 中定义的所有废弃功能。该版本还修复了StrictHttpFirewall类的实例错误地拒绝有效的 CJKV 字符。

Payara

Payara 公司发布了其Payara平台的 2022 年 5 月企业版。Payara Platform Enterprise 5.39.0 版提供了四个缺陷修复、两个组件升级和五个改进,其中包括:支持 JDK 17,以及在调用 Admin Console 时能够指定超时选项。关于这个版本的更多细节可以在发布说明中找到。

Quarkus

在 Quarkus 2.9.0发布一周后,Red Hat 提供了 Quarkus 2.9.1.Final 的维护版本,其中包括缺陷修复和文档改进,以及依赖升级,包括:GraalVM 22.1、Hibernate Reactive 1.1.5.Final、Hibernate ORM 5.6.9.Final、Micrometer BOM 1.8.6 和 Infinispan 13.0.10.Final。关于这个版本的更多细节可以在更新日志中找到。

Micronaut

Micronaut 基金会发布了 Micronaut 3.4.4,对 Micronaut 模块进行了更新:Micronaut Maven Plugin 3.2.4、Micronaut SQL 4.2.3、Micronaut JAX-RS 3.2.1、Micronaut Oracle Cloud 2.1.3、Micronaut MQTT 2.1.1 和 Micronaut OpenAPI 4.0.1。关于这个版本的更多细节可以在发布说明中找到。

WildFly

在 WildFly 26.1 发布五周后,Red Hat 提供了一个维护版本,即 26.1.1,该版本具有许多组件的升级,包括:WildFly Core 18.1.1.Final、Smallrye Config 2.10.0、Smallrye Health 3.2.1、Netty 4.1.76 以及 RESTEasy 6.0.1.Final。有关该版本的更多细节可在发布说明中找到。

Hibernate

JBoss提供Hibernate ORMHibernate Reactive的更新。


Hibernate ORM 5.6.9.Final 是 5.6 版本中的一个维护版本,提供了补丁和关键缺陷的修复。


Hibernate Reactive 1.1.5.Final 为使用Stage.SessionFactoryStage.Session接口的开发者提供了一个关键的缺陷修复。如果开发者的应用程序偶尔产生“No Vert.x context active”的错误信息,那就应该升级到这个最新版本。

JDKMon

最新版本JDKMon(一个监控和更新已安装的 JDK 的新工具),已经交付给 Java 社区。该工具由 Azul 公司的首席工程师Gerrit Grunwald创建,17.0.25 版包括:Linux 版本相关的缺陷修复;用新的指示器取代 CVE 的指示器(indicator)。

JobRunr

JobRunr是一个在 Java 中进行后台处理的工具,其创始人和主要开发者Ronald Dehuysser发布了5.1.2版本,其特性包括:支持用@Recurring注解提供一个间隔以取代 cron 表达式;允许在MockJobContext测试中设置JobContext类的实例。

JReleaser

JReleaser的一个更新的早期访问版本发布,其特性包括:对 aws-java-sdk 1.12.220、jsonschema 4.24.3、sshj 0.33.0、tika 2.4.0 和 mockito 4.5.1 进行了依赖升级。

Apache Tomcat

对于 Apache Tomcat 团队来说,最近也是非常繁忙的,他们为 9.0、10.0 和 10.1 版本提供了小版本发布。


9.0.6310.0.2110.1.0-M5版本都具有以下特性:从 Kubernetes 服务绑定作为属性源获取值;识别Linux内核重复接受缺陷的根本原因;对 Tomcat 本地库 1.2.3 的依赖性升级,以支持用OpenSSL 1.1.1构建的 Windows 二进制文件,以及在配置内部、内存密钥存储时支持加密的PKCS#1格式的私钥


Apache Tomcat 10.1.0-M15 是一个 alpha 里程碑版本,为开发者提供了早期访问 Apache Tomcat 10.1 版本中的新功能。

Apache Camel

Apache 软件基金会发布了 Apache Camel 3.17.0,其中有 220 个缺陷修复、改进和依赖性升级,包括:Spring Boot 2.6.7;用于camel-jbang模块的 Kamelets 0.8.1;Google Cloud Libraries BOM 25.2.0;Jakarta Mail 1.6(Jakarta EE 8),以及用于修复 OSGi 可重复性问题的maven-bundle-plugin模块。该版本的更多细节可以在发布说明中找到。


原文链接:

Java News Roundup: OpenJDK, Spring Updates and CVEs, Payara Platform, Apache Tomcat Updates

2022-06-10 09:432882

评论

发布
暂无评论
发现更多内容

架构实战营:毕业总结

刘璐

Maven 依赖管理与生命周期

Emperor_LawD

maven 5月月更

架构实战营 - 毕业总结

smile

架构实战营

C++最佳实践 | 4. 可维护性

俞凡

c++ 最佳实践

druid 源码阅读(五)初始化连接池总结

爱晒太阳的大白

5月月更

一文掌握MySQL中的二进制日志,MySQL 优化学习第10天

梦想橡皮擦

5月月更

在线TSV转XML工具

入门小站

工具

Nacos源码系列—订阅机制的前因后果(上)

牧小农

源码 nacos

MP4封装格式

Loken

音视频 5月月更

模块1-作业

Fan

架构实战营

如何保证 Redis 高可用和高并发(主从+哨兵+集群)

Ayue、

redis sentinel Redis 核心技术与实战

架构实战营:毕业项目《电商秒杀系统》

刘璐

【LeetCode】不含重复字符的最长子字符串Java题解

Albert

LeetCode 5月月更

druid 源码阅读 5——讨论下druid为什么不用AtomicLong

张大彪

前端【js】学习JavaScrip心得

恒山其若陋兮

5月月更

Laxcus分布式操作系统三代UI演进之路

LAXCUS分布式操作系统

分布式计算 操作系统 分布式存储 并行计算 GUI设计

C++最佳实践 | 5. 可移植性及多线程

俞凡

c++ 最佳实践

模块九作业 - 设计电商秒杀系统

smile

架构实战营

C++最佳实践 | 3. 安全性

俞凡

c++ 最佳实践

Redis「3」持久化

Samson

学习笔记 Redis 核心技术与实战 5月月更

【愚公系列】2022年05月 二十三种设计模式(十四)-命令模式(Command Pattern)

愚公搬代码

5月月更

《原则》读书笔记 - 又臭又长

懒时小窝

读书笔记

Cocos Creator学习のTiledMap

空城机

Cocos 5月月更

setState 和 ModelBinding用法对比来看局部刷新效果

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

在线文本去重统计工具

入门小站

工具

一、什么是云原生安全

穿过生命散发芬芳

云原生安全 5月月更

ArrayList源码分析-初始化

zarmnosaj

5月月更

学生管理系统(3)

5月月更

SpringWebFlux中WebClient怎么打印日志?

编号94530

spring 日志 WebFlux WebClient

模块1作业回答

Geek_701557

一篇文章带你了解云计算

工程师日月

5月月更

Java近期新闻:OpenJDK、Spring升级和CVE、Payara平台以及Apache Tomcat升级_语言 & 开发_Michael Redlich_InfoQ精选文章