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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
58 1
|
17天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
37 0
|
23天前
|
Java 编译器
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
31 0
|
3天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
12 0
|
4天前
|
安全 Java API
RESTful API设计与实现:Java后台开发指南
【4月更文挑战第15天】本文介绍了如何使用Java开发RESTful API,重点是Spring Boot框架和Spring MVC。遵循无状态、统一接口、资源标识和JSON数据格式的设计原则,通过创建控制器处理HTTP请求,如示例中的用户管理操作。此外,文章还提及数据绑定、验证、异常处理和跨域支持。最后,提出了版本控制、安全性、文档测试以及限流和缓存的最佳实践,以确保API的稳定、安全和高效。
|
6天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
15 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
6天前
|
安全
IntelliJ IDEA 快捷键大全(三)
IntelliJ IDEA 快捷键大全
53 0
IntelliJ IDEA 快捷键大全(三)
|
6天前
|
存储 Java 关系型数据库
掌握Java 8 Stream API的艺术:详解流式编程(一)
掌握Java 8 Stream API的艺术:详解流式编程
35 1
|
16天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3