@xuemingdeng
2021-11-04T17:17:02.000000Z
字数 3402
阅读 474
摘要:
2021年10月25日起始周Java新闻更新:OpenJDK、JDK 18、多个Spring项目更新、MicroStream 6.0、Quarkus 2.4.0、Hibernate Reactive 1.0、Open Liberty 21.0.0.11、Eclipse Vert.x 4.2.0、Red Hat引入Cryostat 2.0、GraalVM原生构建工具0.9.7.1、Liberica Native Image Kit 21.3和JDKMon 17.0.7。
正文:
2021年10月25日起始周Java新闻更新:OpenJDK、JDK 18、多个Spring项目更新、MicroStream 6.0、Quarkus 2.4.0、Hibernate Reactive 1.0、Open Liberty 21.0.0.11、Eclipse Vert.x 4.2.0、Red Hat引入Cryostat 2.0、GraalVM原生构建工具0.9.7.1、Liberica Native Image Kit 21.3和JDKMon 17.0.7。
JEP 416(即通过方法句柄重新实现代码反射)经过最终评审之后,从Proposed进入了Target阶段。该JEP是关于基于java.lang.invoke中所定义的方法句柄重新实现java.lang.reflect中的类,如Method、Constructor和Field。这些方法句柄现在可以作为一种反射机制,降低这两个包的维护和开发成本。
JEP 418(即网络地址解析SPI)从Candidate进入Proposed to Target阶段。该JEP是关于为主机名和主机地址解析提供SPI接口,这样java.net.InetAddress就可以使用外部的解析器,而不只依赖于OpenJDK内置的解析器。JEP418的评审将在2021年11月4号结束。
JDK 18尝鲜构建版本Build 21可用,相比Build 20,这次的主要更新包括对各种问题的修复。更多细节可参看版本公告。
JDK 18目前的特性集合如下:
开发者可以通过Java Bug Database提交bug。
对于Spring来说,过去又是繁忙的一周。Spring的多个项目都发布了单点版本。
根据报告,Spring Boot 2.5.6和2.4.12修复了一些安全漏洞,分别与Spring Framework(CVE-2021-22096)、Spring Data REST(CVE-2021-22047)和Spring AMQP(CVE-2021-22097)有关。Spring Cloud OpenFeign 2.2.10.RELEASE、3.0.5和3.1.0-M4修复了第4个漏洞CVE-2021-22044。
用于Eclipse的Spring Tools 4.12.1支持JDK 17的尝鲜版(为Eclipse 2021-12和ARM M1平台构建的版本)。更多细节可参看版本公告。
Spring Graph 1.0.0的第三个里程碑版本已发布。新版本引入了@BatchMapping注解,以改进对批处理的支持。其他的新特性包括:改进对Querydsl的支持、TypeResolver接口默认实现、借助Spring的DataBinder类来解析输入参数。更多细节可参看问题清单。
最近发布的Spring 2021年状态报告显示,Spring Cloud Kubernetes的一些新特性被包含在Spring Cloud 2021.0.0的第三个里程碑版本中,包括对服务发现和配置管理的支持。Spring Cloud 2021.0.0-M3引入了一个新的发现服务器,可以“使用Kubernetes API来获取Kubernetes服务和端点,为应用程序提供有关服务的信息”。
MicroStream发布了6.0版本,新版本集成了Helidon,提供了一个Spring Boot配置层、用于JDK 17集合对象(通过List.of()和Set.of()创建)的类型处理器、一个新的工具类ObjectCopier,用于深度拷贝对象图。
Hibernate发布了Hibernate Reactive 1.0.0.Final,与Quarkus全面集成。Hibernate Reactive是在2020年12月份首次推出的,使用了Vert.x非阻塞SQL客户端库,支持PostgreSQL、MySQL、MariaDB、Db2、SQL Server和CockroachDB。
IBM发布Open Liberty 21.0.0.11,相比Beta版,增加了一些新特性,包括:使用FeatureUtility命令行工具将用户特性安装到Open Liberty运行时;将Kubernetes秘钥作为Open Liberty的配置变量;为外围端口(传输层的一个通信端点)提供一个新的HTTP访问日志格式选项。
Red Hat发布了Quarkus 2.4.0.Final,特性包括:将依赖项Hibernate Reactive升级到1.0.0.Final;Quarkus DevUI支持Kafka流式拓扑;与多模块项目进行持续测试;新的quarkus-awt扩展,支持Abstract Window Toolkit (AWT)和Java2D。
用于IntelliJ的Quarkus Tools发布1.8.0版本,支持CodeLens功能(REST端点),并做了MicroProfile Fault Tolerance和Metrics规范方面的增强。
Eclipse Vert.x 4.2.0发布,支持JDK 17,增强了反应式SQL客户端、Web客户端和认证客户端。Reactive Oracle Client也被作为数据库客户端加入到Vert.x套件中。更多细节可以在版本公告中找到,官方文档包含了弃用内容和重大变更描述。
Red Hat推出了一个新的容器原生JVM应用程序Cryostat 2.0,基于JDK Flight Recorder(JFR)提供了一个安全的用于分析和监控容器的API。Cryostat可以获取、保存和分析容器化JVM的记录,以此来评估应用程序的整体健康状况。JFR记录的内容可以上传到JDK任务控制中心或者Grafana,用于进一步的分析。这篇博文对Cryostat进行了详细的介绍。
Oracle实验室发布了GraalVM原生构建工具的0.9.7.1版本,一个用于操作GraalVM原生镜像的插件。这是一个问题修复版本,解决了在使用Maven插件进行多项目构建时出现的测试执行问题。
BellSoft发布了Liberica原生镜像工具(NIK)21.3版本,GraalVM的一个下游发行版。该版本基于Liberica JDK 17和JDK 11构建,新特性包括:对JPMS的初始支持;在分析期间配置反射和JNI配置文件,以便得到体积更小的原生镜像;一个新的自适应垃圾回收策略,以便获得更好的垃圾回收性能;该工具现在可以读取命令行参数。
JDKMon,一个用于监控和更新JDK的工具,向Java社区发布了最新版本。它由Azul的首席工程师Gerrit Grunwald创建,最新版本为17.0.7,特性包括:支持华为毕昇JDK、腾讯Kona JDK和IBM Semeru运行时Certified版本。其依赖项JavaFX升级到17.0.1,还更新了其他一些插件和UI。
查看英文原文:Java News Roundup: Hibernate Reactive 1.0, Spring Updates, OpenJDK, Red Hat Introduces Cryostat 2.0