写点什么

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:0010728

评论 1 条评论

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

智能视频云3.0全景图来了!深度融合视频应用共创行业新生态

百度大脑

云智一体 智能视频 云智技术

千万级学生管理系统考试试卷存储方案设计

Hesher

架构 Architecture 架构实战营 存储系统

丰田汽车选用Mobileye和采埃孚的安全技术

E科讯

前端实操案例丨如何实现JS向Vue传值

华为云开发者联盟

Vue 大前端 js Promise Vuex state

2、kafka 2.8.0 源码环境搭建

杨四正

大数据 kafka 消息队列 kafka2.8

冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见

老猿Python

图形图像处理 数字图像处理 冈萨雷斯

人人都在谈的图数据库到底是个啥?

华为云开发者联盟

大数据 数据结构 数据 图数据库 华为云图引擎图数据库GES

【LeetCode】找出第 K 大的异或坐标值Java题解

Albert

算法 LeetCode 5月日更

深入浅出分布式存储性能优化方案

焱融科技

云计算 分布式 高性能 云存储 超融合

进程内缓存助你提高并发能力!

万俊峰Kevin

缓存 微服务 本地缓存 Go 语言

详解JQuery框架的五大选择器

华为云开发者联盟

jquery 选择器 层级选择器 属性选择器 过滤选择器

Rust从0到1-错误处理-panic!

rust 错误处理 Error 不可恢复错误

论Http、Socket、WebSocket、WebService(SOAP)之间的区别

Damon

5月日更

kafka基本概念

杨四正

大数据 kafka 架构设计 消息队列 消息队列架构

从酷睿双核到Tiger Lake-H,英特尔如何帮游戏笔记本完成蜕变

E科讯

支付中心设计

try catch

支付 支付中心

私有云解决方案

anyRTC开发者

音视频 WebRTC RTC sdk

让人工智能成为保险行业科技基因的一部分!

百度大脑

人工智能 保险

java性能分析与问题定位 实战

try catch

Java 性能分析

🚄【Redis 干货领域】从底层彻底吃透 AOF 重写 (源码篇)

码界西柚

redis aof Redis 协议 Redis 核心技术与实战 5月日更

如何成为云原生技术高阶玩家?华为云最近做了这件事

华为云开发者联盟

容器 DevOps 微服务 云原生 华为云

iOS开发底层原理技术~RAC深度解析

ios cocoa 程序员 移动开发

NumPy之:ndarray多维数组操作

程序那些事

Python Numpy 程序那些事

HTTP/3 初体验

运维研习社

nginx 运维 HTTP3.0 5月日更

飞桨前沿升级、顶级开源项目、产教融合育人,WAVE SUMMIT论坛内容先睹为快!

百度大脑

深度学习 飞桨

看MindSpore加持下,如何「炼出」首个千亿参数中文预训练语言模型?

华为云开发者联盟

框架 mindspore 盘古 NLP 大模型 中文预训练模型

DEMO WORLD分论坛聊些啥?高端制造、未来出行、皮肤科技、未来产业……

创业邦

创新

多线程 VS 多进程(一)

若尘

多线程 多进程 Python编程 5月日更

JavaScript+TensorFlow.js让你在视频中瞬间消失

不脱发的程序猿

JavaScript 人工智能 开源 TensorFlow.js

架构实战营模块3课后作业-基于“自研集群+MySQL存储”的消息队列架构设计方案

吴建中

架构实战营

测试开发专题-开篇

禅道项目管理

软件测试 自动化测试 测试开发

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