AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

Java 新闻汇总:Spring 发布,Resilience4j,Open Liberty,GlassFish,Kotlin 1.8-Beta

  • 2022-12-06
    北京
  • 本文字数:3553 字

    阅读完需:约 12 分钟

Java新闻汇总:Spring发布,Resilience4j,Open Liberty,GlassFish,Kotlin 1.8-Beta

JDK 20

JDK 20 的早期访问构建Build 25已在上周发布,主要针对 Build 24 的更新,以及多个问题修复。关于该版本更多内容请参见更新说明

 

针对JDK 20,欢迎开发者通过Java Bug数据库提交问题。

Spring 框架

继上周Spring框架主要版本的发布后,VMware 跟进了更多项目的主要版本发布。这些主要版本中值得关注的有:Spring Boot 3.0、Spring Web服务 4.0、Spring安全 6.0、Spring批处理 5.0、Spring授权服务器 1.0、Spring REST文档 3.0、Spring for GraphQL 1.1.0、Spring for Apache Kafka 3.0,以及Spring for RabbitMQ 3.0(Spring AMPQ),均以 JDK 17 及 Jakarta EE 9 为基线。

 

在 Spring Boot 2.0发布后的四年半里,经过一年多中超过5800个提交的酝酿,Spring Boot 3.0 已经可供Java社区使用。与 Spring 框架 6.0 类似,主要更新亮点包括:支持用 GraalVM生成原生镜像,取代实验性质的 Spring Native 项目;优化 Micrometer 及 Micrometer Tracing 的可观察性。关于该版本更多内容请参见更新说明

 

Java Champion 及首位 Spring 开发者倡导Josh Long最近接受了 InfoQ 的采访,讲述了他对 Spring 框架 6.0 及 Spring Boot 3.0 这两个主要版本的看法。

 

Spring Boot 的2.7.6版本及2.6.14版本均带来了问题修复、文档改善以及依赖升级,如 Spring 框架 5.3.24、Spring Web 服务 3.1.4、Hibernate 5.6.14.Final、PostgreSQL 42.3.8、Reactor 2020.0.25,以及 Spring REST 文档 2.0.7。关于该版本的更多内容请参见版本2.7.6以及版本2.6.14的更新说明。根据 VMware 的开源政策,版本 2.6.14 是 2.6 发布的最后一个版本。

 

Spring Web 服务的 4.0发布重点如下:通过 GitHub 版本中变更日志的使用,追踪每次里程碑版本基础上的问题条目;折叠相同 catch 代码块或分支;更新文档中语法及拼写;依赖更新至 Spring 框架 6.0、Spring 安全 6.0.0、nexus-staging-maven-plugin 1.6.13。关于该版本的更多内容请参见更新说明

 

Spring 安全 6.0 版本及 5.8 版本均已发布

  • 版本 6.0 新增与 Spring 可观测性的集成,支持 Spring 框架 6.0 所提供的 AOT 处理。关于该版本更多内容及其他突破性变更,请参见新内容页面。

  • 版本 5.8 提供的增强功能包括:优化会话处理;对AuthorizationManager 接口的扩展支持;对跨站请求伪造(CSRF)漏洞的额外深层防御。关于该版本的更多细节可参见新内容页面。

 

Spring 批处理 5.0 已经发布,其特点包括:为DefaultBatchConfiguration 类提供了新的getDataSource() 方法;支持 Micrometer 及 Micrometer Tracing 的可观察性;优化SystemCommandTasklet类的测试;在FieldExtractor 接口中实现了 Java Records;支持在SimpleJobOperatorSimpleJobExplorer类中配置事务管理器。关于该版本的更多细节请参见更新说明

 

如今距离 Spring 授权服务器首次亮相Java 社区以来已经两年半了,这次的 1.0 版本发布带来了针对 Spring 框架 6.0、Spring 安全 6.0 及 6.0-RC2、Spring Boot 3.0-RC2、Jakarta Servlet 6.0、HyperSQLDB 2.7.1,以及Jackson 2.14 的新功能和依赖升级。关于该版本的更多细节请参见更新说明

 

Spring Authorization Server 0.4 也已发布,其特点包括:到 JUnit 5 的升级;更新链接到当前版本的 OAuth 2.1;断言(assert) JdbcRegisteredClientRepository类中标识符的唯一性;新增日志以保持与 Spring 安全的统一性;依赖升级至 Spring 框架 5.3.24、Spring 安全 5.8,以及 Jackson 2.14。关于该版本的更多细节请参见更新说明

 

Spring REST 文档 3.0 的发布内容包括:单独文档记录先前与请求参数混在一起的表单及查询参数;文档记录请求与响应 cookie;发布材料清单(BOM)坐标为org.springframework.restdocs:spring-restdocs-bom;目前与 REST Assured 整合需要 5.2 版本。Spring REST 文档 2.0 中标记为废弃的类和方法已被删除。关于该版本的更多细节请参见更新说明


Spring REST 文档 2.0.7 已经发布,其特点在于修复了以下问题:在webtestclient包中定义的类里使用自定义状态码时,记录响应的问题;通过modifyUris()方法在请求体中不恰当地转换 URL 数据时,抛出PayloadHandlingException异常。关于该版本更多细节请参见更新说明

 

Spring 框架发布补丁版本6.0.2及版本6.0.1,提供问题修复、文档优化及新功能,如:依赖Jakarta Bean Validation 3.0中标准参数名称解析;SourceHttpMessageConverter类变更为可选;完全废弃LocalVariableTableParameterNameDiscoverer 类,以避免其暴露在原生镜像中;在GeneratorStrategy 接口中定义的generate()方法变更为无法访问,以节约在转换为原生镜像时内存需求。关于这些版本的更多细节请参见版本6.0.2版本6.0.1的更新说明。

 

Spring Modulith版本 0.1 的发布完成了对现已停用的前代Moduliths项目的整合。该版本提供了问题修复及对 Spring 3.0 的依赖升级。Spring Modulith 项目负责人及 VMware 的 Spring 的员工兼工程师Oliver Drotbohm最近接受了 InfoQ 关于 Spring Modulith 项目的采访

 

Spring for GraphQL 1.1 版本已经发布,提供对以 GraphQL Java 19(及 JDK 17 和 Jakarta EE 9)为基线的支持,并与 Spring Boot 3.0 保持一致。其他新功能包括支持:Micrometer可观察性,通过 Micrometer 上下文传播库(Micrometer Context Propagation Library)进行上下文传播;AOT 及 GraalVM 原生镜像;对GraphQlArgumentBinder 类更新以捆绑 Java Collections;新增ArgumentValue 类用于暴露参数是否完全被忽略的信息。关于该版本的更多细节请参见发布说明

 

Spring for GraphQL 1.0.3 的版本发布也提供了问题修复、功能增强及文档优化等特点。关于该版本的更多细节请参见发布说明

 

Spring for Apache Kafka 3.0 及 Spring for RabbitMQ 3.0 均已可在 Java 社区使用

  • Spring for Apache Kafka 3.0 中更新特点包括:支持跨多个测试实例中使用EmbeddedKafkaBroker  类的全局单一实例;对@RetryableTopic注解带来了若干增强,并采取了非阻塞式重试;在KafkaTemplate 类中定义的方法会返回CompletableFuture ,而不是已废弃的ListenableFuture。关于该版本的更多细节请参见新内容页面。

  • Spring for RabbitMQ 3.0 中更新特点包括:支持 RabbitMQ 中超级流里单一活跃消费对象;定义在AsyncRabbitTemplateRabbitStreamTemplate 中的方法会返回CompletableFuture 而不是类似 Spring for Apache Kafka 的ListenableFuture ;删除了先前已废弃的远程支持。关于该版本的更多细节可参见新内容页面。

Open Liberty

IBM 已发布Open Liberty 22.0.0.12 版本,提供针对漏洞CVE-2022-37734的问题修复,该漏洞存在于GraphQL Java,攻击者可通过发送消耗 CPU 资源的 GraphQL 查询发起拒绝服务攻击。鼓励开发者升级至 GraghQL Java 19.0 及以上、18.3,以及 17.4 版本。


Eclipse GlassFish

Eclipse 基金会提供了 GlassFish第十个里程碑版本,7.0.0。该版本特点包括:集成了 Helidon Config 3.0.2、Eclipse Jersey 3.1.0 和 Shoal 3.0.1;增加了 REST JDBC 管理测试;支持 MicroProfile JWT;为GlassFish 7.0.0-M9增加了 Jakarta MVC 2.1 TCK 结果。GlassFish 7.0.0-M10 可在 JDK 11 至 JDK 19 的版本上编译并运行,该版本被认为是包含了 Jakarta EE 10 APIs 最终版及 Jakarta EE 10 最终实现组件的候选版本。

 

GraalVM 原生构建工具

在前往 1.0 版本的大路上,Oracle创新实验室已发布原生构建工具0.9.18版本,该工具是由与 GraalVM 原生镜像互操作插件组成的 GraalVM 项目。这一最新版本提供了:对 GraalVM 版本的修整,修复 Windows 支持的问题;对 GraalVM 元数据存储库 0.2.5 的升级;通过增加了对escapeArg() 方法的测试及取消用args参数转义的正则参数,增强NativeImageUtils类。关于该版本的更多细节请参见更新日志

 

Resilience4j

Java 的容错库Resilience4j的 2.0.0 版本已经发布,更新包括对 JDK 17、Kotlin 1.7.20、Spring Boot 2.7 以及 Micronaut 3.7.3 的依赖升级。Java 功能库Vavr的依赖项被移除。InfoQ 后续将跟进更为详尽的报道。

 

Apache Tomcat

Apache Tomcat 8.5.84 已被发布,其问题修复主要包括:评估包含 lambda 表达式的表达式语言时的并发问题;修正了 HTTP cookies 中expires 属性的时间格式问题,从破折号分割日、月、年改为由空格分割,以与RFC 6265保持一致。同时也包括对Apache Commons Daemon 1.3.2 的依赖升级。关于该版本的更多详情可参见更新日志


Kotlin

JetBrains发布了 Kotlin 1.8.0-Beta 版本,其特点包括:兼容 Gradle 7.3;在标准库中递归 Path 效用函数;在 Kotlin/Native 中支持 Xcode 14;停止对旧版 JVM 后端的支持。关于该版本的更多细节可参见新内容界面。

 

原文链接:

Java News Roundup: Major Spring Releases, Resilience4j, Open Liberty, GlassFish, Kotlin 1.8-Beta


相关阅读:

Java 近期新闻:Spring Framework 6、JCP 选举、Valhalla 项目、OpenJDK 更新

对话 Spring 大神:Spring 生态系统的新时代来了!

Meta 将百万行代码从 Java 移植到 Kotlin

2022-12-06 08:0010278

评论 1 条评论

发布
用户头像
别搞没必要的翻译啊 像是 spring webservice翻译成spring web服务,spring security翻译成spring安全
2022-12-06 11:56 · 浙江
回复
没有更多了
发现更多内容

Vue进阶(幺贰幺):ElementUI 表单校验注意事项

No Silver Bullet

Vue elementUI 表单校验 9月日更

JavaScript中 6 个reduce()实例

devpoint

reduce 9月日更

架构实战营模块三

WolvesLeader

「架构实战营」

模块八作业

Mr.He

架构实战营

纯CSS实现『斑马纹理投影文字』

德育处主任

CSS css3 大前端 纯CSS

数据安全

奔向架构师

数据仓库 数据安全 9月日更

Prometheus 2.23.0 新特性

耳东@Erdong

Prometheus 9月日更

神经网络与点

Nydia

linux之sshpass命令

入门小站

Linux

假期的的生活?

卢卡多多

假期 9月日更

序列化与反序列化系列二:JPA与Querydsl

程序员架构进阶

架构 9月日更 QueryDSL Spring JPA

支付宝的沙箱环境配置和使用

Brave

支付宝 支付 9月日更

PHPStorm 的使用技巧汇总

baiyutang

9月日更

如何使用协程与生命周期感知型组件结合使用

Changing Lin

9月日更

架构1期模块八作业

五只羊

架构实战营

在线JSON转Go Bson工具

入门小站

工具

架构实战营 - 模块八作业

Julian Chu

JavaScript进阶(四)防抖

Augus

JavaScript 9月日更

测试常用英语(持续更新中)

IT蜗壳-Tango

9月日更

吴恩达Andrew Ng CNN卷积神经网络 论文等资料汇总 YOLOv5 新版本—改进与评估 易筋 ARTS 打卡 Week 65

John(易筋)

ARTS 打卡计划

网络攻防学习笔记 Day141

穿过生命散发芬芳

网络安全 9月日更

架构实战营模块八作业-消息队列存储数据的MYSQL设计

王晓宇

架构实战营

设计消息队列存储消息数据的MySQL 表格

feitian

学生管理系统架构设计文档

紫云

NFT 这么火,你知道 ERC721 么

Rayjun

以太坊 ERC ERC721

Coffee学架构 004 外包学生管理系统的完整架构设计

咖啡

架构设计

手撸二叉树之从前序与中序遍历序列构造二叉树

HelloWorld杰少

9月日更

什么是网络安全等级保护

网络安全学海

网络安全 信息安全 WEB安全 等级保护 黑客、

架构实战营 - 模块八作业

思梦乐

20. 从工业革命到文艺复兴

Databri_AI

人工智能

前沿·探索·想象力,今年的云栖大会有啥不一样?

阿里巴巴云原生

阿里巴巴 云原生

Java新闻汇总:Spring发布,Resilience4j,Open Liberty,GlassFish,Kotlin 1.8-Beta_语言 & 开发_Michael Redlich_InfoQ精选文章