阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |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:009761

评论 1 条评论

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

贴吧电纸书资深用户,从7个方面详谈BOOX Poke2上手体验!

DT极客

谈谈控制感(11):这样提升控制感,谁都能做到

史方远

心理 成长

毫无意义的人生唯有编织图案

xyz

面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

程序员柠檬

微服务 后台开发 架构设计

2020年5月30日 泛型程序设计

瑞克与莫迪

Vol.10 Java 25岁了!

pyfn2030

Java jdk 编程语言 Java25周年

Django ListView DetailView等基于类的视图如何添加装饰器?

BigYoung

Python django LiveView 装饰器

如何存储1个二进制位&锁存器的核心和本质

姜海天

计算机 数字逻辑

关于字符编码那些你应该知道的事情

꯭🇫꯭

Java MySQL emoji utf-8 ASCII

写给产品经理的信(6):时间管理

punkboy

极客时间,项目管理 职场 产品经理 时间分配 时间管理

恭喜你,赢得了爱情长跑的胜利

小天同学

爱情 兄弟 祝福

不忘初心,继续努力

一周思进

ARTS 打卡计划

vue-router 容易被忽视的几个地方

꯭🇫꯭

Vue vuejs vue-router router

ARTS-week-1

youngitachi

ARTS 打卡计划 arts

图片与标题的Ken Burns动效

寇云

CSS css3

SpringBoot之多模块开发

北漂码农有话说

终于找到了一篇文章!通俗地讲解计算机工作原理

图灵社区

cpu 存储器 编译器 计算机工作原理

Spring源码

云淡风轻

spring 源码

Vite for Vue 是什么?

꯭🇫꯭

Vue vuejs vite Vue3

产业区块链:产业是本质,区块链是工具

CECBC

新基建 CECBC 区块链技术 中国电子

平台化服务的基石:权限模型设计

孤岛旭日

企业架构 用户权限 数据建模

Cassandra可调一致性的使用及原理

老任物联网杂谈

大数据 分布式 Cassandra 可调一致性

只需CSS的下拉式导航菜单

寇云

CSS css3

JUC整理笔记四之梳理VarHandle(上)

JFound

Java

设计模式:建造者设计模式

毛佳伟🐳

一位测试工程师的自我介绍

姬翔

测试

大厂为什么不招30岁以上程序员,看这篇就够了

金刚小书童

程序员 职业规划 技术管理 职业成长

Spring Bean生命周期——初始化和销毁

xiaoxi666

Java spring

广告的发展历程

子悠

广告 计算广告 广告系统 互联网广告 RTB

【CSS】为什么a标签的伪类选择器要注意书写顺序?

德育处主任

CSS html css3 大前端 Web

python实现·十大排序算法之桶排序(Bucket Sort)

南风以南

Python 排序算法 桶排序

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