写点什么

Java 近期新闻:JDK 19 和 Jakarta EE 10 发布、模板字符串、Payara 平台

  • 2022-10-04
    北京
  • 本文字数:4340 字

    阅读完需:约 14 分钟

Java近期新闻:JDK 19和Jakarta EE 10发布、模板字符串、Payara平台

近期 Java 新闻汇总,涉及 OpenJDK、JDK 19、JDK 20、亚马逊 Corretto 19、BellSoft Liberica JDK 19、Jakarta EE 10、多条 Spring 框架更新、Quarkus 2.12.3、Payara 平台更新、Micronaut 3.7.0、GraalVM 原生构建工具 0.9.14、JobRunr 5.2.0、PrimeFaces 单点发布、Failsafe 3.3.0、Apache Groovy 3.0.13 以及 Apache Log4j2 2.19.0。

OpenJDK

JEP 430、模板字符串(预览)从 JEP 草稿 8273943提为候选状态。在Amber项目的支持下,该预览版本 JEP 提议通过模板字符串增强 Java 编程语言,通过在字符串字面量包含嵌入式表达式,并在运行时对解释、评估和验证嵌入式表达式。

JDK 19

Oracle 在这周发布19版本的 Java 编程语言和虚拟机,上线了七个 JEP 的最后一块拼图。更多详情请见 InfoQ新闻

亚马逊 Corretto

亚马逊发布了亚马逊 Corretto 19,是其 OpenJDK 19 的下游发行版,可用于 Linux、Windows 和 macOS 平台,开发者可从官方网站下载最新版本。

Liberica JDK

同样,BellSoft 也发布了它们 JDK 19 的下游版本,LibericaJDK 19,开发者可从官方网站下载最新版本。

JDK 20

JDK 20 的抢先试用版本Build 16也于上周发布,重点针对 Build 15 更新了各种问题的修复更新。关于该版本更多细节,可参见版本说明

 

欢迎各位开发者通过 Java Bug 数据库报告关于JDK 20的错误。

Jakarta EE

Jakarta EE工作组发布了 Jakarta EE 10,这是自 Oracle 于 2017 年将 Java EE 8捐献给 Eclipse 基金会以来的第三个主要版本。该版本更新了为超过 20 个组件提供了新功能,更有对已有PlatformWeb配置兼容实现的核心配置文件。InfoQ 将后续发布更详细的跟踪报道。

Spring 框架

Spring 团队在这周做了不少事,不仅有多个项目的单点和里程碑版本发布,还更新了一个公共漏洞和暴露(CVE)。

 

Spring Data REST团队发布了 CVE-2022-31679:Spring Data REST的资源暴露导致潜在非预期数据暴露。在该漏洞中,攻击者可以通过伪造的 HTTP 请求暴露应用程序中的隐藏实体属性,从而允许HTTP PATCH 访问由 Spring Data REST 暴露的资源。

 

Spring Boot2.7.42.6.12版本都已在 Java 社区内可用。这两个版本均支持 JDK 19,并带来了一系列故障修复,如:Spring Framework 5.3.23, Hibernate 5.6.11.Final, Netty 4.1.82.Final, Rector 2020.0.23, Groovy 3.0.13, Dropwizard Metrics 4.2.12 和 Postgresql 42.3.7。关于每个版本的更多细节可参见2.7.4版2.6.12版的版本说明。

 

在 Spring Boot 3.0 发布之前,第五个里程碑式版本已经更新,其中新特性重点包括:优化了运行前编译处理和原生图像支持;优化了 actuator 端点的健康处理;在修复了common-core 模块的问题后恢复对 Eclipse Jersey 的支持。关于该版本的更多细节可参考版本说明

 

Spring Data的 2022.0.0-M6、2021.2.3 和 2021.1.7 版本已经发布,这些版本对 Spring Data 子项目的相应版本进行了错误修复和依赖性升级,例如:Spring Data REST、Spring Data JPA、Spring Data MongoDBSpring Data for Apache CassandraSpring Data Neo4jSpring Data KeyValue。这些版本同样包括前文中提到的 CVE-2022-31679 漏洞修补。

 

Spring Security的 6.0.0-M7 和 5.8.0-M3 版本已经发布。6.0.0-M7 版的新特性包括:在@PreAuthorize 注解中支持 native-image;HttpSessionRequestCache 类的性能增强;从WebSecurity 类中删除FilterSecurityInterceptor 类(现已废弃),改用AuthorizationFilter 类。5.8.0-M3 版的新特性包括:用于 CSRF 请求处理的新接口;AspectJ 对@EnableMethodSecurity 注解的支持;以及支持通过LazyCsrfTokenRepository 类对CsrfToken 接口的实现进行懒惰读取,以补充现有的对令牌的懒保存。值得注意的是,6.0.0-M7 版本有一些突破性的变化。关于这些版本的更多细节可以在6.0.0-M7版本和5.8.0-M3版本的发行说明中找到。

 

Spring Cloud Dataflow 2.10.0 的第二个里程碑版本已经发布,重点对 Spring Boot 2.7.3、Spring Framework 5.3.22 和 Spring Cloud 2021.0.3 进行了依赖升级。曾在 Spring Cloud Dataflow 2.10.0-M1 中被暂时删除,该版本中又恢复了对使用MariaDB JDBC驱动程序的 MySQL 5.7+的支持。关于该版本的更多细节可参考版本说明

 

Spring Batch的 5.0.0-M6 和 4.3.7 版本已经发布。4.3.7 版本提供了故障修复、文档改进和依赖性升级,如:Spring Framework 5.3.23、Spring Data 2.5.12、Spring Integration 5.5.15,以及 Spring Kafka 2.7.14。5.0.0-M6 版本则提供了一些新特性,如:在AbstractJobRepositoryFactoryBean 类中支持原生图片;在SimpleJobOperatorSimpleJobExplorer 类中支持事务管理器配置;用@EnableBatchProcessing 注释重新审视基础设施 Bean 的配置。关于该版本的更多细节可参考5.0.0-M64.3.7的版本说明。

 

Spring Authorization Server 1.0.0 的第二个里程碑版本合并了 0.4.x 版本的增强功能,以及对 Spring Framework 6.0.0-M6、Spring Security 6.0.0-M7、mockito-core 4.8.0、jackson-bom 2.13.4 和nimbus-jose-jwt 9.24.4 的依赖升级。关于该版本的更多细节可参考版本说明

 

Spring Session 2022.0.0 的第三个里程碑版本已经发布,其中包括对子项目的更新:Spring Session Core 3.0.0-M4、Spring Session Data Redis 3.0.0-M4、Spring Session JDBC 3.0.0-M4 以及Spring Session Hazelcast 3.0.0-M4。

 

同样,Spring Authorization Server 0.4.0 的第二个里程碑版本也提供了一些新特性,如:可添加AuthenticationProviderAuthenticationConverter 接口的实现,以替代覆盖默认接口;在ClientSecretAuthenticationProvider 类中检查验证客户端秘密是否已经过期。关于该版本的更多细节可参考版本说明

 

Spring Integration的 6.0.0-M5 和 5.5.15 版本已经发布。5.5.15 版特性是修复了关键故障并解决了上有依赖关系的弃用问题。6.0.0-M5 版中值得关注的变化包括:支持 Spring AOT、GraphQL 和 Apache Camel;删除了远程方法调用(RMI)模块以支持更安全的协议;新增PostgresSubscribableChannel 类,可依赖本地 PostgreSQL 进行通知推送;新增ClientManager 接口,允许为不同通道适配器共享同一个MQTT客户端。建议开发者阅读这份迁移指南,以获得关于突发变更和更多细节的信息。

 

实验性 Spring 项目Spring for Apache Pulsar的 0.1.0-M1 版本已经发布,该版本以 JDK 17、Spring Boot 3.0.0-M5 和 Spring Framework 6.0.0-M5 为基础。关于该版本的更多细节可参考版本说明

 

Spring for GraphQL 1.0.2 已经发布,具备以下新特性:支持 JavaMap接口的@Arguments 注解;支持重定向到GraphiQL路径的路径变量;新增启动时内省(introspect)控制器方法,以确定是否需要验证。关于该版本的更多细节可参考版本说明

 

Spring for GraphQL 1.1 的第一个里程碑版本已经发布,支持 JDK 17、Jakarta EE 和 Spring Framework 6.0 基线。此外,还包括 GraphQL 的 Java 实现GraphQL Java到 19.x 版本的升级,以及新的Micrometer上下文传播库,取代了他们内部开发的上下文传播机制

Quarkus

Quarkus 2.12.3.Final发布,提供对Hibernate Search 6.1.7.Final 版本的依赖更新;修复了 Funqy Knative 运行时和 MongoDB 驱动在查询 DNS 失败时请求上下文泄露的问题;正式对ParamConverterProvider 接口实现泛用边界支持。关于该版本的更多细节可参考版本说明

Payara

Payara发布了 2022 年 9 月版本的Payara平台。Payara 6 社区版的 Alpha 4 测试版支持 Jakarta EE 10 的预览,同时包括 15 处故障修复、六个组件升级、三处优化和两处安全修复。Payara 的目标是让 Payara 6 社区 beta 测试版通过 Jakarta EE TCK。关于该版本的更多细节可参考版本说明

 

Payara 企业版 5.43.0 带来了四处故障修复、一个升级至Eclipse Jersey 2.36 的组件,以及一项用于支持活动目录联合服务(ADFS)中的 OpenID Connect 令牌发放者字段。关于该版本的更多细节可参考版本说明

Micronaut

Micronaut基金会发布了 Micronaut 框架 3.7.0,对多个模块进行了优化,如Micronaut for SpringMicronaut Gradle插件Micronaut GCPMicronaut测试Micronaut Reactor。该版本还引入了Micronaut CRaCMicronaut对象存储两个新模块,分别提供了对检查点协调还原(CRaC)的支持,和通过一个 API 在主要云供应商内统一创建、读取、删除对象。关于该版本的更多细节可参考版本说明

Oracle 创新实验室

在 1.0 版本之前,Oracle创新实验室发布了其原生构建工具0.9.14版本,这是一个由与 GraalVM 原生镜像互通的插件组成的 GraalVM 项目。该新版本发布提供的优化有:参数文件改为存储在 Gradle 插件下的build 目录,或 Maven 插件下的target 目录中,以处理 GralVM 在 Windows 中使用绝对路径问题的各种临时解决方案;新增一个native:compile fork 目标,可通过命令行启动,如mvn native:compile 。关于该版本的更多细节可参考版本说明

 

Oracle 创新实验室还为计划于 2022 年 10 月及 2023 年一月发布的 GraalVM 新功能和时间线提供了一个社区规划图

JobRunr

JobRunr是一款可以在后台处理 Java 进程的工具,其创始人和主要开发者Ronald Dehuysser发布了 5.2.0 版本,该版本提供的优化有:重复性 job 看板新增分页功能;看板和指标中用于返回计数器的队列降低 2-10 倍 CPU 周期时间。关于该版本的更多细节可参考版本说明

PrimeFaces

开源 UI 组件库供应商PrimeFaces提供7.0.298.0.2110.0.16以及11.0.8版本的单点发布。新功能和优化包括:Confirm组件的新源属性;Moment.js升级至 2.29.4 以解决CVE-2022-31129漏洞,即用户在向moment() 构造器传递由用户提供的字符串时,如果未进行合理性检验,则易受到正则表达式拒绝服务(ReDoS)攻击;为DatePicker 组件新增autoMonthFormat 属性。

Failsafe

Failsafe是一款可以在 Java 8+中处理故障的轻量级、零依赖的库,目前已发布了 3.3.0 版本,其中对 API 的更新有:ExecutionContext 接口定义的getStartTime() 方法返回实例从原先的Duration 类改为Instant 类;同理,ExecutionEvent 类中定义的getStartTime() 返回实例从Duration 类改为Optional<Instant>  。另外,getFailure()getLastFailure()recordFailure() 等用于记录异常的方法在上一版本中被废弃后,在该版本中被删除。开发人员可使用getException()getLastException()recordException() 等类似方法。关于该版本的更多细节可参考版本说明

Apache 软件基金会

Apache Groovy 3.0.13发布,更新了 44 处故障修复、优化以及对 Spock 2.2 的依赖升级。更多细节参见更新日志。

 

Apache Log4j 2.19.0 已发布,新功能包括对 SLF4J2 堆栈值MDC 类的支持及对 SLF4J2 流畅 API 的实现。


原文链接

Java News Roundup: JDK 19 and Jakarta EE 10 Released, String Templates, Payara Platform

 

相关阅读:

Java 19 发布,Loom 怎么解决 Java 的并发模型缺陷?

JUnit 5.9 引入对 GraalVM 原生镜像的支持

Jakarta EE 10 发布新的 Core Profile 和规范更新

2022-10-04 08:009725

评论

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

初识Java反射概念和使用

CRMEB

低代码是什么意思?

低代码小观

程序员 低代码 开发工具 开发平台 企业开发系统

如何获取所有安装的应用程序信息

Changing Lin

11月日更

300行ABAP代码实现一个最简单的区块链原型

汪子熙

区块链 SAP abap 11月日更

个人信息保护法生效,企业数据安全合规正当时

行云管家

信息安全 数据安全 企业安全 网络保护

springboot集成阿里云短信

小鲍侃java

11月日更

OceanBase 源码解读(六):存储引擎详解

OceanBase 数据库

数据库 开发者 高性能 资源隔离 租户

行云管家荣登36kr企服点评云计算软件排行榜NO.1

行云管家

云计算 软件 排行榜 IT运维

《Linux一学就会》:第二章:Linux基本命令操作和文件管理

侠盗安全

Linux 运维 linux运维 云计算架构师

JavaIO流核心模块与基本原理

Java nio IO流 字符流 字节流

11.11上云嘉年华,华为云数据库助力客户备战业务高峰

华为云数据库小助手

GaussDB GaussDB(for openGauss) GaussDB ( for Redis ) 华为云数据库

原来我才是内卷王,闭关3个月肝完Java 7大核心知识,成功斩获字节58万Offer。

Java高级开发

字节跳动 java; 字节跳动面经

为什么那么多人在用WGCLOUD

王逅逅

zabbix 监控系统 linux运维 运维系统

恒源云(GPUSHARE)_Child Tuning: 反向传播版的Dropout

恒源云

深度学习

极光笔记丨Spark SQL 在极光的建设实践

极光GPTBots-极光推送

大数据 spark 计算引擎

百度人脸活体检测系统通过信通院“护脸计划”首批优秀级安全防护能力评估

百度开发者中心

安全 人脸识别 百度安全

Apache APISIX 扩展指南

API7.ai 技术团队

Apache 插件 API网关 Apache APISIX

IOS技术分享| WebRTC iOS源码下载&编译

anyRTC开发者

ios 音视频 WebRTC 实时通信 视频直播

技术干货|开源项目-FlyFish使用攻略

云智慧AIOps社区

开源 大前端 低代码 数据可视化 大屏

“神算子”上线!EasyDL时序预测模型零门槛轻松上手

百度开发者中心

百度飞桨

一文,动态规划入门

bigsai

算法 动态规划

什么是DISA STIG?概述+STIG安全

旋极智能

白码低代码/无代码开发平台功能及作用

低代码小观

低代码 开发工具 开发平台 无代码 企业服务

内在可解释模型之RuleFit

索信达控股

机器学习 算法 模型

墨天轮国产数据库沙龙 | 黄新著:金仓数据库全生命周期管控

墨天轮

国产数据库 KingBase 人大金仓

真香!180页100+题15W+字解析的《Java高级面试指南》,果断收下

Java 程序员 架构 分布式 算法

入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

Java MySQL redis 程序员 算法

腾讯安全李滨:腾讯云数据安全与隐私保护探索与实践

腾讯安全云鼎实验室

数据安全 云安全

推动产业创新,腾讯的底层逻辑是什么?

ToB行业头条

让脂肪起内讧?从内部全面瓦解脂肪

脑极体

业务数据清洗,落地实现方案

数据 数据清洗 数据管理 数据服务 业务数据

Java近期新闻:JDK 19和Jakarta EE 10发布、模板字符串、Payara平台_语言 & 开发_Michael Redlich_InfoQ精选文章