Java新闻:Loom和Panama更新,Groovy 4.0,GraalVM 22.0 CE,Jakarta EE RPC

416 阅读7分钟

Java新闻综述。Loom和Panama更新、Groovy 4.0、GraalVM 22.0 CE、Jakarta EE RPC

2021年1月24日的本周Java综述,主要介绍了OpenJDK、JDK 18、JDK 19、项目Loom和Panama、Jakarta EE、Groovy 4.0、Spring Framework更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser early-access、Apache Camel和Camel K,以及FOSDEM的Foojay.io。

OpenJDK

甲骨文公司的主要技术人员Jonathan Gibbons 宣布,6.2版本的 **[jtreg](https://openjdk.java.net/jtreg/)**JDK测试框架使用的用于编写回归测试的测试线束,将是支持旧版本JDK的最后版本。正如Gibbons解释的那样。

由于JDK 9, **jtreg**已被限制为可与 JDK 8 一起编译,因此我们可以编译代码的某些部分以在旧版本上运行,而这实际上意味着所有的 **jtreg**已经被限制为只能使用JDK 8中的API和语言功能。

这一变化将使代码库更加现代化,需要JDK 11或JDK 17作为最小版本。

JDK 18

JDK 18早期访问构建Build 33在上周发布,其特点是在Build 32基础上进行了更新,包括对各种问题的修复。更多细节可以在发布说明中找到。

JDK 19

JDK 19早期访问版本的Build 7也在上周发布了,它是Build 6的更新,包括对各种问题的修复。更多细节可以在发布说明中找到。

对于JDK 18和JDK 19,我们鼓励开发者通过Java Bug数据库报告错误。

Project Loom

Project Loomearly-access builds的Build 19-loom+2-58已提供给Java社区,它是基于JDK 19 early-access builds的Build 6

巴拿马项目

巴拿马项目早期访问版本的Build 19-panama+1-13也提供给了Java社区,它是基于JDK 19的一个不完整版本,其特点是把 **jextract**实用程序与JDK 18保持一致。

雅加达EE

Eclipse基金会的Jakarta EE开发者倡导者Ivar Grimstad在他的Hashtag Jakarta EE每周博客宣布Jakarta EE规范委员会已经批准了一个新的规范,即Jakarta RPC。这个新规范将专注于在Jakarta EE生态系统中构建基于gRPC的应用。如果开发者对参与Jakarta RPC感兴趣,鼓励他们加入Jakarta RPC邮件列表

Groovy

预期的Groovy 4.0.0版本已向Java社区发布,自RC-2版本以来有28个错误修复/改进,自Groovy 3.0.0版本以来有800多个新功能、改进和错误修复。 这包括开关表达式、记录、密封类型和Groovy-Integrated Query(GINQ),一个用类似SQL语法进行查询的DSL。更多细节可以在发布说明中找到。

Spring框架

在通往Spring Cloud 2022.0.0的第一个里程碑版本的道路上,代号为Kilburn的版本已经推出。与Spring Framework 6.0和Spring Boot 3.0一样,Spring Cloud 2022.0.0的GA版本将需要JDK 17+,并与Jakarta EE 9保持一致。进一步的细节,包括一些突破性的变化,可以在发布说明中找到。

Spring Initializr 0.12.0已经发布,其中包括10个错误修复和改进,以及对Gradle 7.3.3、Maven 3.8.4、Maven Resolver 1.7.3、Maven Resolver Provider 3.8.4和Spring Boot 2.6.3的依赖升级。更多细节可以在发布说明中找到。

Spring Native 0.11.2已经发布,具有30个错误修复、文档改进和依赖性升级。一些新特性包括:通过使用 "AOT "标志防止生成不必要的Maven AOT测试源。 **-DskipTests**标志;在检测到 "AOT "时提供一个有意义的错误信息;以及正确地禁用 **logback.xml**时提供有意义的错误信息;以及在AOT模式下正确禁用 **spring-boot-devtools**模块在AOT模式下。

Spring Authorization Server 0.2.2已经发布,其中包括新功能、错误修复和依赖性升级。更多的细节可以在发布说明中找到,还有这个帮助开发者入门的示例应用程序

Micronaut

Micronaut基金会发布了Micronaut 3.3.0,包括对GraalVM 22.0.0的支持,并引入了Micronaut Email,这是一个新模块,可以在Micronaut应用程序中更有效地发送电子邮件。更多细节可以在发布说明中找到。

Micronaut还宣布Let's Encrypt已经撤销了从2022年1月26日到1月28日使用其TLS与ALPN验证方法的证书,因为有两起不符合规定的事件。这可能会影响到使用Micronaut Acme来更新任何安全证书的开发者。

GraalVM

在2022年1月17日Java新闻综述中,InfoQ报道了GraalVM 22.0企业版的发布,为了适应额外的测试,社区版的提供时间有所延迟。针对JDK 11和JDK 17的GraalVM 22.0社区版已于上周发布,其特点是改进了本地镜像工具的构建时间和内存使用。InfoQ在这个新闻报道中提供了更多细节。

架构师:Liberica本地镜像套件

BellSoft发布了新的Liberica Native Image Kit(NIK)22.0.0.2版和升级版21.3.1。新功能包括:在Liberica NIK for MacOS中支持OpenJFX;和 **native-image**在所有版本的NIK中默认包含的实用程序,而不需要通过 **gu**实用程序。

架构

在MicroProfile Reactive Streams Operators 3.0的道路上,第一个候选版本已经发布,其特点是与Jakarta EE 9.1保持一致,并且重构了 **load()**中的一个重构的方法 **[ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html)**类中重构了一个方法,作为 **PrivilegedAction**在实现 **[ReactiveStreamsEngine](https://download.eclipse.org/microprofile/microprofile-reactive-streams-operators-1.0/apidocs/org/eclipse/microprofile/reactive/streams/operators/spi/ReactiveStreamsEngine.html)**和 **[ReactiveStreamsFactory](https://download.eclipse.org/microprofile/microprofile-reactive-streams-operators-1.0/apidocs/org/eclipse/microprofile/reactive/streams/operators/ReactiveStreamsFactory.html)**接口来解决使用WildFly的安全问题。进一步的细节可以在发布说明中找到

架构

Hibernate Search 6.1.0.Final已经发布,其特点是:通过协调策略支持异步的、分布式的自动索引。 **[outbox-polling](https://docs.jboss.org/hibernate/search/6.1/reference/en-US/html_single/#coordination-outbox-polling)**协调策略;与Elasticsearch 7.16和OpenSearch 1.0和1.2版本兼容;以及使用DSL语言改进搜索的新谓词。

Hibernate ORM 5.6.5.Final已经发布,它改进了与H2数据库最新版本2.1.210的兼容性,但建议开发者应该查看H2数据库的变更日志,并根据需要更新他们的脚本、ORM映射和H2配置。

在通往Hibernate ORM 6.0的道路上,第一个候选发布版已被提供,包括对 **[UserCollectionType](https://docs.jboss.org/hibernate/orm/4.2/javadocs/org/hibernate/usertype/UserCollectionType.html)**接口的支持,通过 **[@CollectionType](https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html#collection-type-ann)**或@CollectionTypeRegistration注解的接口支持。我们鼓励开发者查看用户指南

淘宝网

JHipster的7.6.0版本已经发布,包括新的功能,如:依赖性升级到Spring Boot 2.6.3;修复了 **[userManagementService](https://github.com/jhipster/generator-jhipster/pull/17569)**Vue的问题;修复Browsersync的问题,在升级到以前的JHipster 7.5.0版本后,Angular没有更新网页;以及一些库的升级。更多细节可以在发布说明中找到

IntelliJ IDEA

JetBrains已经发布了IntelliJ IDEA 2021.3.2,该版本带有一些修复功能,例如。macOS上的Cmd-N(⌘N)在调用文件->新建不能打开 生成对话框;不必要的索引重新扫描;以及YAML文件的缩进问题。进一步的细节可以在发布说明中找到。

释义

JReleaser是一个简化创建项目发布的Java工具,它的早期访问版本包括:对Docker规范的修复;检查 **null**在一个 **[Archive](https://jreleaser.org/guide/early-access/configuration/assemble/archive.html)**分发类型的检查;以及将属性的默认值从 **[check-multi-line-strings](https://github.com/jreleaser/jreleaser/commit/d4b3b3ade34dd950faa03081bc2136408d31659c)**属性的默认值从 **true**改为 false.InfoQ计划在GA发布JReleaser 1.0.0的时候跟进更详细的新闻报道。

Apache Camel

Apache软件基金会在Camel 3.14发布列车中提供了一个新的LTS点发布。3.14.1版具有47个错误修复和改进,以及对Log4j2的2.16.0、2.17.0和2.17.1版本的依赖性升级,Logback 1.2.8。 **camel-spring-boot**2.6.3和 **bouncycastle**1.70.

Apache Camel K的1.8版已经发布,它支持KEDA(Kubernetes Event-Driven Autoscaling),这将使开发人员能够更有效地提供传入事件的自动缩放。关于这个新功能的更多细节可以在这篇博文中找到。

Camel K是一个轻量级的集成框架,由Camel K Runtime 1.11.0、Camel Quarkus 2.6.0、Camel 3.14.0和Camel Kamelets 0.7.0构建。

Foojay.io参加FOSDEM 2022

OpenJDK之友,Foojay.io,一个Java生态系统的社区平台,将在即将到来的FOSDEM 2022会议上主持他们自己的开发者房间,该会议定于2022年2月5日至6日(周六至周日)举行。

FOSDEM是一个由志愿者组织的为期两天的活动,旨在促进自由和开源软件的广泛使用,将提供一些轨道和其他开发者房间,又称devrooms,由其他组织和社区主办。