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

简介: 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 社区的知名人士发言。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
5月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
320 100
|
5月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
339 101
|
5月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
285 101
|
5月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
270 2
|
5月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
707 1
|
5月前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
116 0
Java Stream API 的强大功能
|
6月前
|
安全 Java API
Java日期时间API:从Date到Java.time
本文深入解析了Java 8中引入的全新日期时间API,涵盖LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用,以及时间调整、格式化、时区处理和与旧API的互操作。通过实例对比,展示了新API在可变性、线程安全与易用性方面的显著优势,并提供迁移方案与实战技巧,助你掌握现代Java时间处理的最佳实践。
|
6月前
|
存储 NoSQL Java
Java Stream API:集合操作与并行处理
Stream API 是 Java 8 提供的集合处理工具,通过声明式编程简化数据操作。它支持链式调用、延迟执行和并行处理,能够高效实现过滤、转换、聚合等操作,提升代码可读性和性能。
|
6月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
403 188