Java 近期新闻综述:CVE-2022-22968、Vector API、Jakarta EE 10 更新、IntelliJ IDEA 2022.1、Ktor 2.0

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Java 近期新闻综述,内容主要涉及 OpenJDK、JEP 426、JDK 19、Jakarta EE 10 更新、Spring Framework 点版本、CVE-2022-22968、Quarkus 2.8.0、Open Liberty 22.0.0.4 和 22.0.0.5-beta、Micronaut 3.4.2、WildFly 26.1、Eclipse GlassFish 7.0-M4、Piranha 22.4.0、Apache Camel Quarkus 2.8.0、IntelliJ IDEA 2022.1、Ktor 2.0 和 Devnexus 2022 大会。

OpenJDK

JEP 426(Vector API第四轮孵化)从 JEP Draft 8280173 状态提升至候选状态。在 Panama 项目的支持下,该 JEP 包含了针对前三轮孵化的改进:JEP 417(Vector API第三轮孵化,在 JDK 18 中交付)、JEP 414(Vector API第二轮孵化,在 JDK 17 中交付)以及 JEP 338(Vector API第一轮孵化,在 JDK 16 中作为孵化器模块交付)。JEP 426 提议增强 Vector API,以便按照 JEP 424(外部函数 &内存 API 预览版)的定义,从MemorySegment加载或向MemorySegment存储向量。

JDK 19

JDK 19早期访问构建的Build 18在上周发布,它是 Build 17 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。

对于JDK 19,我们鼓励开发者通过Java Bug数据库报告缺陷。

Jakarta EE 10

在通往 Jakarta EE 10 的道路上,Eclipse 基金会 Jakarta EE 开发大使Ivar Grimstad在他的每周博客Hashtag Jakarta EE 中宣布,在过去的一周里,另有四份规范的发布评审已经结束。这意味着Platform Profile中定义的规范已经有大约一半做好了迎接 Jakarta EE 10 的准备:

  • Jakarta Persistence 3.1
  • Jakarta RESTful Web Services 3.1
  • Jakarta XML Binding 4.0
  • Jakarta XML Web Services 4.0
  • Jakarta Activation 2.1
  • Jakarta Annotations 2.1
  • Jakarta Batch 2.1
  • Jakarta Interceptors 2.1
  • Jakarta JSON Binding 3.0
  • Jakarta JSON Processing 2.1
  • Jakarta Mail 2.1
  • Jakarta SOAP with Attachments 3.0

Jakarta Context and Dependency Injection 4.0的发布评审将于 2022 年 4 月 19 日完成。对于其余的规范,目前正在等待兼容性认证申请,并处于 TCK 测试的不同阶段,发布评审应该会在未来三周内完成,以确保 Jakarta EE 10 能够在 2022 年 5 月底前交付。

Spring Framework

作为 CVE-2022-22965(Spring Framework RCE via Data Binding on JDK 9+)的后续,VMware宣布了 CVE-2022-22968(Spring Framework数据绑定规则漏洞),因为此前发现,WebDataBinder类的配置属性disallowedFields没有得到有效保护。计划于 2022 年 4 月 21 日发布的 Spring Boot 2.6.7 和 2.5.13 版本也将包含这一修复,但开发人员最好在其 Spring Boot 应用程序中手动升级 Spring Framework 依赖。

Spring Framework 5.3.19 和 5.2.21 已经发布,前者带来了12项Bug 修复和改进,后者带来了5项。这两个版本还解决了上文所述的 CVE-2022-22968 漏洞。

Quarkus

Quarkus 2.8.0.Final发布,特性包括:将RESTEasy Reactive作为默认 REST 层;将 GraalVM 22.0 作为默认版本;新的QuarkusTransaction API;以及 Elasticsearch Dev Services(可以自动启动dev和test模式的 Elasticsearch 容器)。此外,由于存在二进制兼容性不可靠问题,AssertJ被从 Quarkus BOM 中删除。开发人员需要在他们的应用程序中明确指定 AssertJ 3.22.0。要了解关于这个版本的更多细节,请查阅更新日志。

InfoQ 后续将带来更详细的报道。

Open Liberty

IBM 已经基于Beta测试版推出了 Open Liberty 22.0.0.4,特性包括:支持 JDK 18;支持 URL 编码字符串客户端证书;引入Paketo Liberty Buildpack;大量的 Bug 修复。

Open Liberty 22.0.0.5-beta 版也已发布,特性包括:支持MicroProfile GraphQL 2.0;分布式安全缓存(这样多个 Liberty 服务器就可以通过JCache共享缓存)。

Micronaut

Micronaut 基金会发布了 Micronaut 3.4.2,提供了 Bug 修复、文档改进,并升级到Micronaut AWS 3.2.3、Micronaut Email 1.2.1、Micronaut AOT 1.0.3、Micronaut Micrometer 4.2.1和Netty 4.1.76。要了解关于这个版本的更多细节,请查阅更新日志。

WildFly

在 WildFly 26.1 Beta1发布三周后,红帽公司发布了 WildFly 26. 1,特性包括:支持 LTS 版本 JDK 8、JDK 11 和 JDK 17;能够用 MicroProfile Config指定一个配置源根目录;一个新的address_queue_scan属性,用于为标记为删除的队列配置有效删除频率;一个新的execution-records-limit属性,用于限制通过 JDBC 存储检索的记录数量;可以启用资源适配器验证日志目录配置。要了解关于该版本的更多信息,请查阅WildFly 26.1文档。

Eclipse GlassFish

在通往 GlassFish 7.0 的道路上,Eclipse 基金会发布了第四个里程碑版本,它提供了:Jakarta Servlet 6.0和Jakarta Server Pages 3.1规范(通过了各自的 TCK);更新其他 Jakarta EE 10 组件。GlassFish 7.0.0-M4 被认为是一个测试版,可在 JDK 11 至 JDK 18 上编译和运行。要了解关于该版本的更多信息,请查阅发布说明。

Piranha

Piranha 22.4.0发布。这个版本被称为 2022 年 4 月“放缓步伐”版,其中包括依赖项和插件更新。要了解关于这个版本的更多信息,请查阅文档和问题跟踪系统。

Apache Camel Quarkus

为了与 Quarkus 保持一致,Apache发布了 Camel Quarkus 2.8.0,包含 Camel 3.16.0 和 Quarkus 2.8.0.Final。新功能包括:改进对 Windows 的支持;新的 JVM 扩展azure-servicebus和google-secret-manager;原生支持mybatis扩展;废弃spark、ahc和ahc-ws扩展;删除ipfs和weka扩展;一个基于 Vert.x、面向 Azure 扩展的 Azure HTTP 客户端。要了解关于这个版本的更多信息,可以查看已关闭问题列表。

JetBrains

JetBrains发布了 IntelliJ IDEA 2022.1,新特性包括:支持 JDK 18;新的依赖分析器,用于依赖管理和冲突解决;通知工具窗口提供了一种新的方式来接收和存储来自 IDE 的通知;经过更新的新建项目向导改进了新项目的启动;改进 IDE 与 Kotlin 的性能。要了解关于该版本的更多信息,可在查看发布说明。

经过一年的酝酿,JetBrains 还发布了Ktor 2.0,其特性包括:支持 Kotlin 1.6.20;通过一个简化的扩展 API 提供了更简单的插件创建方式;支持Kotlin/Native,作为对现有 GraalVM 支持的补充;提供新的 API,取消post和get方法,简化 HTTP 请求;内置支持重试。要了解关于这个版本的更多信息,请查看更新日志。

InfoQ 后续将对 JetBrains 的这两款产品进行更详细的追踪报道。

Devnexus 大会

在 2021 年的虚拟大会之后,由亚特兰大Java用户组组织的Devnexus 2022于上周在乔治亚州亚特兰大的乔治亚世界会议中心举行。会议包括研讨会、演讲和第三届年度JUG领导人峰会,有许多来自 Java 社区的知名人士发言。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
19天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
50 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2天前
|
Java API 数据处理
探索Java中的Lambda表达式与Stream API
【10月更文挑战第22天】 在Java编程中,Lambda表达式和Stream API是两个强大的功能,它们极大地简化了代码的编写和提高了开发效率。本文将深入探讨这两个概念的基本用法、优势以及在实际项目中的应用案例,帮助读者更好地理解和运用这些现代Java特性。
|
5天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
16 6
|
4天前
|
Java API 开发者
Java 8新特性之Stream API详解
【10月更文挑战第22天】Java 8引入了重要的Stream API,用于处理集合数据。本文分三部分介绍:基本概念与原理、使用方法及应用实例。Stream API支持延迟执行、惰性求值,提供过滤、映射、排序、聚合等操作,使代码更简洁、易读。文中详细讲解了创建Stream、中间操作、终端操作以及具体应用场景,如排序、过滤、映射和聚合。
10 3
|
8天前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
22天前
|
机器学习/深度学习 算法 Java
通过 Java Vector API 利用 SIMD 的强大功能
通过 Java Vector API 利用 SIMD 的强大功能
33 10
|
21天前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
24 1
|
16天前
|
SQL Java API
深入探索Java的持久化技术——JPA(Java Persistence API)
【10月更文挑战第10天】深入探索Java的持久化技术——JPA(Java Persistence API)
13 0
|
16天前
|
Java API 数据库
深入探索Java的持久化技术——JPA(Java Persistence API)
【10月更文挑战第10天】深入探索Java的持久化技术——JPA(Java Persistence API)
18 0
|
1天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应