Java 近期新闻:JDK 19 JEPs、 Lilliput 项目里程碑版本、Spring 框架
Java近期新闻综述,涉及来自OpenJDK、JDK19的JEPs、Lilliput项目的里程碑版本、和5.2.22、和22.0.0.6-beta、、、WildFlyPreview27Alpha1、、、、等的特性,以及Micronaut的调查结果和DevoxxUK会议。
OpenJDK甲骨文(Oracle)的Java平台组首席架构师MarkReinhold提议将当前的域名迁移到。Reinhold表示,尽管为Java社区提供了良好的服务,但是当前的域名还是令人困惑。由于许多OpenJDK的开源社区都是在.org顶级域名下构建其基础设施的。所以Reinhold认为,这种迁移是有益的。
最初被命名为记录模式和数据模式(预览版)的JEP405,记录模式(预览版),已经从JDK19的Candidate提升到ProposedtoTarget状态了。该JEP也是在Amber项目的赞助下,提议使用记录模式来增强语言,以解构记录值。记录模式可以与类型模式结合使用,以“支持强大的、声明式的、并可组合的数据导航和处理形式”。最近,通过JEP406,Switch模式匹配(预览版)(在JDK17中提供)和JEP420,Switch模式匹配(第二个预览版本)(在JDK18中提供),扩展了类型模式以用于switchcase标签。预计审查将于2022年5月19日结束。
JDK19JDK19早期访问构建版本的第22版已于上周发布,其中包括对第21版中各种问题的修复及更新。更多详细信息请参阅发布说明。
对于JDK19,鼓励开发人员通过Java缺陷数据库来报告缺陷。
Lilliput项目Lilliput项目是由红帽(RedHat)的Java平台高级首席软件工程师RomanKennke发起的一个Java项目,该项目已经到达了第一个里程碑,目标是将对象报头信息减少到64位。
Spring框架SpringFramework的5.3.20版本和5.2.22版本已经发布,以提供针对CVE-2022-22970(通过数据绑定到MultipartFile或Servlet部分进行Spring框架的DoS攻击)以及CVE-2022-22971(通过WebSocket上的STOMP进行Spring框架的DoS攻击)的修复。这两个版本还通过CachedIntrospectionResults类提供了精细化的属性内省。
在通往的道路上,第四个里程碑版本已经发布,其中包括了对5.3.20版本的所有修复以及39个修复和改进,其中包括:删除了过时的NestedIOException类;一个允许HTTP状态码不是Javaenum的新HttpStatusCode接口;以及对的支持。`
OpenLibertyIBM已将的beta版本升级为交付态:支持在sslProtocol属性上配置多个特定的SSL/TLS协议值;引入了一个新的schemaGen命令行包装实用程序来启动工具的执行;以及修复了多个错误。
也已经发布,它具有新的日志记录功能,因此堆栈跟踪信息现在可以合并到单个日志事件中了。
Quarkus红帽(RedHat)发布了,其特性包括:一种旨在替换密码的新WebAuthn身份验证机制;支持ReactiveRoutes和RESTEasyReactive的压缩;支持ConfluentSchemaRegistry和重构模式注册表扩展,以获得更大的灵活性;以及对和的依赖升级。鼓励开发人员在升级时遵循迁移指南。
ApacheCamelQuarkus为了与Quarkus保持一致,Apache软件基金会发布了包含和的。其新特性包括:改进了对JBang的支持;改进了对Camel主应用程序的支持,这样使用依赖注入可以更容易地自动发现Camel路由、配置类、类型转换器及其他类;以及从Vault/Secrets云服务检索特性值的能力。
WildFly红帽(RedHat)已经发布了WildFlyPreview27Alpha1,这是支持JakartaEE10的一个里程碑式的版本。支持上下文和依赖注入(CDI)4.0规范、CDILite和。该版本在JDK11或JDK17上可能能运行,但是对JDK8的支持已经停止。
Hibernate已发布,特性升级包括:;构件;以及-orm6/-jakarta构件中最新版本的JakartaEE依赖项。该版本中的修复包括:.flags(())在定义simpleQueryString谓词时禁用所有标志;在Lucene后端使用.maxTermCount(verylargevalue)定义文本字段上的聚合时不会再导致OutOfMemoryError错误;以及使用outbox-polling协调策略,防止对特定实体进行索引的路由桥接不会再导致NullPointerException。
JobRunrRonaldDehuysser是JobRunr的创始人和主要开发人员,JobRunr是一个在Java中执行后台处理的实用程序,其5.1.1版本已发布,修复了当属性设置为false时抛出ClosedFileSystemException的缺陷。
Piranha已发布。该版本被称为“消除代码坏味道”的2022年5月版,其中包括:删除了一个不稳定的Mojarra测试;更新了依赖项;并修复了一些“代码坏味道”。有关该版本的更多详细信息,请参阅他们的文档和问题跟踪器。
FailsafeFailsafe是一个轻量级的零依赖库,用于处理Java8+中的故障,它的3.2.4版本已发布,其中包括额外的线程安全检查特性。有关该版本的更多详细信息,请参阅其变更日志。
Micronaut基于总共的650张投票,版本调查的结果表明:与基于JDK17的相比,几乎有两倍的Java开发人员更喜欢基于JDK17的。
DevoxxUK会议Devoxx英国分会(DevoxxUK)已于上周在英国伦敦商业设计中心举行,来自Java社区的许多演讲者发表了演讲,并促进了研讨会。