写点什么

Java 近期新闻:Jakarta EE 11-M2、 提升为 JDK 23 Targeted 状态的 JEPs、Spring Boot、 Hibernate、 GlassFish

  • 2024-04-29
    北京
  • 本文字数:5451 字

    阅读完需:约 18 分钟

Java近期新闻:Jakarta EE 11-M2、 提升为JDK 23 Targeted状态的JEPs、Spring Boot、 Hibernate、 GlassFish

OpenJDK

在审查结束后,JEP 473,流聚合器(Stream Gatherers,第二次预览),已经从 JDK 23 的 Proposed to Target 状态提升Targeted 状态。该 JEP 是对上一次预览,即 JEP 461,流聚合器(Stream Gatherers,预览版),在 JDK 22 中交付,进行的第二次预览。这将允许有更多的时间进行反馈,并使用该功能获得更多的体验,而不会对 JEP 461 进行面向用户的更改。该特性旨在增强 Stream API,以支持自定义的中间操作,这些操作将“允许流管道以现有内置中间操作无法轻松实现的方式转换数据”。有关该 JEP 的更多详细信息,请参阅原始设计文档InfoQ新闻报道

 

同样,JEP 469,向量API(Vector API,第八轮孵化),也已从 JDK 23 的 Proposed to Target 状态提升Targeted 状态。该 JEP 整合了对前七轮孵化反馈的增强功能:JEP 460,向量API(第七轮孵化),在 JDK 22 中交付;JEP 448,向量API(第六轮孵化),在 JDK 21 中交付;JEP 438,向量API(第五轮孵化),在 JDK 20 中交付;JEP 426,向量API(第四轮孵化),在 JDK 19 中交付;JEP 417,向量API(第三轮孵化),在 JDK 18 中交付;JEP 414,向量API(第二轮孵化),在 JDK 17 中交付;以及 JEP 338,向量API(孵化版本),作为 JDK 16 中的孵化器模块交付。最初计划通过重复使用原始 Incubator 状态进行重新孵化,但最终决定继续枚举。向量 API 将继续孵化,直到Valhalla项目的必要功能可作为预览功能提供。届时,向量 API 团队将对向量 API 及其实现进行调整以使用它们,并将向量 API 从 Incubator 推进到 Preview

 

JEP 476,模块导入声明(Module Import Declarations,预览版),已从其 JEP Draft 8315129提升Candidate 状态。该预览功能旨在增强 Java 编程语言,使其能够简洁地导入模块暴露出来的所有包,其目的是简化模块库的重用,而不需要导入模块自身内的代码。

 

微软高级软件工程经理George Adams和微软首席项目(PM)经理 Bruno Borges已经提交了 JEP Draft 8330623删除Windows 32位x86移植,该草案建议对在 JDK 21 中提供的 JEP 449,弃用Windows 32位x86移植以进行删除,中所描述的 Windows 32 位 x86 移植在被弃用后进行完全删除。其目标是:删除代码库中仅适用于 Windows 32 位的所有代码路径;停止针对 Windows 32 位平台的所有测试和开发工作;并简化 OpenJDK 的构建和测试基础设施,与当前的计算标准保持一致。

 

JDK 23

JDK 23早期访问构建版本Build 19于上周发布,该版本是对 Build 18 的更新,其中包括对各种问题的修复。有关该版本的更多详细信息,请参阅发布说明

 

GlassFish

GlassFish 8.0.0-M5 是第五个里程碑版本,它提供了依赖项升级和一些显著的更改,例如:改进了 JmacHttpsTest 类的证书身份验证;以及在ConnectionPool类中添加了锁和 notifyWaitingThreads() 方法,以改进最大池化的大小逻辑。有关该版本的更多详细信息,请参阅发布说明

 

GraalVM

Oracle 实验室发布的GraalVM for JDK 22社区版 22.0.1 基于 2024 年 4 月的 Oracle关键补丁更新(Critical Patch Update)进行了修复。这些解决方案包括:在调试请求本地变量表时,Java调试线协议(Java Debug Wire Protocol,JDWP)中的 NullPointerException ;以及来自 IsolateAwareTruffleCompiler 类中定义的 tearDownIsolateOnShutdown() 方法的死锁。有关该版本的更多详细信息,请参阅发布说明

 

Jakarta EE

Eclipse 基金会的 Jakarta EE 开发人员倡导者Ivar Grimstad在其每周一次的 Hashtag Jakarta EE博客中宣布,Java 社区已经可以使用 Jakarta EE 11 的第二个里程碑版本

 

有四个规范的审查已经完成,两个正在进行中,六个已经准备好进行各自的审查。在 2024 年 7 月 GA 发布之前,总共计划发布四个里程碑版本。每个配置文件的详细信息可以查阅Jakarta EE Platform 11-M2Jakarta EE Web Profile 11-M2Jakarta EE Core 11-M2

 

IBM 高级杰出工程师、Hibernate 的创建者Gavin King撰写了一个关于Jakarta Data的系列文章(第一部分第二部分),这是 Jakarta EE 11 中的一个新规范。

 

BellSoft

在 Oracle 2024 年 4 月发布关键补丁更新(CPU)同时,BellSoft 发布Liberica JDK的 21.0.2.0.1、17.0.10.0.1、11.0.22.0.1、8u411 版本的 CPU 补丁,这些版本是其 OpenJDK 的下游发行版,以解决此CVE列表。此外,还发布了补丁集更新(PSU)的 22.0.1、21.0.3、17.0.11、11.0.23 和 8u412 版本,其中包含 CPU 和非关键修复程序。

 

Spring 框架

Spring Boot 3.3.0 的第一个候选版本提供了缺陷修复、文档改进、依赖项升级和新特性,例如:使用 Spring Framework ManagedClassNameFilter 接口的自定义实现来配置 JpaBaseConfiguration 类;以及通过新的自动配置属性改进了对 Spring for Apache Pulsar 事务的支持。有关该版本的更多详细信息,请参阅发布说明

 

同样,Spring Boot 3.2.53.1.11也发布了,在文档、依赖项升级和值得注意的缺陷修复方面进行了改进,例如: @ServletComponentScan 注解不会在模拟 Web 环境中注册 servlet 组件;并且 BindValidationFailureAnalyzer 类使用了错误的目标。有关这些版本的更多详细信息,请参阅版本3.2.5和版本3.1.11的发布说明。

 

Spring Security 6.3.0 的第一个候选版本提供了缺陷修复、依赖项升级和新特性,例如:支持证书绑定的 JWT 访问令牌验证;并使用 AuthenticationWebFilter 类改进了日志记录。有关该版本的更多详细信息,请参阅发布说明

 

同样,Spring Security 的 6.2.4、6.1.9 和 5.8.12 版本也已发布,包括依赖项升级和一些值得注意的缺陷修复,例如:与导入 MethodInvocationResult 类的AuthorizationObservationConvention 类纠缠的包;并且 @Transactional 注解的使用打破了对原生图像的提前编译。有关这些版本的更多详细信息,请参阅版本6.2.4、版本6.1.9和版本5.8.12的发布说明。

 

Spring for GraphQL 1.3.0 的第一个候选版本提供了一个缺陷修复、依赖项升级和新特性,例如:支持在模式接口类型上使用 @SchemaMapping@BatchMapping 注解;以及在 GraphQlWebSocketHandler 类中支持保持活动心跳(keep-alive ping)。有关该版本的更多详细信息,请参阅发布说明

 

Spring Authorization Server的 1.3.0-RC1、1.2.4 和 1.1.7 版本已经发布,其中包括了对 Spring Framework 和 Spring Security 的依赖项升级。版本 1.3.0-RC1 的新特性包括:添加了双向 TLS(Mutual-TLS)客户端证书绑定的访问令牌;并在何时显示同意页面方面提供更大的灵活性。有关该版本的更多详细信息,请参阅版本1.3.0-RC1、版本1.2.4和版本1.1.7的发布说明。

 

Spring Modulith 1.2.0 的第一个候选版本提供了依赖项升级和改进,例如:避免在 Spring Boot 重新打包的 JAR 中包含启动器;以及在文档中添加了一个关于如何从应用程序模块检测中排除包的新章节。有关该版本的更多详细信息,请参阅发布说明

 

Spring for Apache Pulsar 1.1.0 的第一个候选版本提供了依赖项升级、文档改进和以下改进:对事务的支持;以及将 PulserTestContainerSupport 接口中定义的 stopContainer2() 方法重命名为 stopContainer() 。有关该版本的更多详细信息,请参阅发布说明

 

同样,Spring for Apache Pulsar 1.0.5 版本也已经发布,以提供依赖项升级。有关该版本的更多详细信息,请参阅发布说明

 

Spring for Apache Kafka的 3.2.0-RC1、3.1.4 和 3.0.16 版本已经发布,其中包括缺陷修复和依赖项升级。版本 3.2.0-RC1 的新特性包括:支持 TopicPartitionOffset.SeekPosition 枚举类上的 @PartitionOffset 注解;在 KafkaListenerEndpointRegistry 类中添加了一个新的 getListenerContainersMatchingId() 方法,用于在特定时间启动和停止监听器。有关这些版本的更多详细信息,请参阅版本3.2.0-RC1、版本3.1.4和版本3.0.16的发布说明。

 

Quarkus

Quarkus 3.9.4 是第三个维护版本(跳过了版本 3.9.0),提供了依赖项升级和一些值得注意的缺陷修复,例如:用 @Startup 注解注释生产者方法时会在编译过程中发出警告,同时仍能按预期创建 bean;并且与热重新加载( quarkus:dev )的不起作用以及 Flatten Maven插件的使用相冲突。有关该版本的更多详细信息,请参阅变更日志

 

同样,Quarkus 3.8.4 版本的发布也提供了依赖项升级和一些值得注意的缺陷修复,例如:如果 SmallRye Multi 接口的实现为空,则 RestMulti 类的实例不发送头信息;以及移除了过时的MetricBuildItem SPI。有关该版本的更多详细信息,请参阅变更日志

 

最后,Quarkus 3.2.12.Final发布了一些小错误修复,并改进了文档。有关该版本的更多详细信息,请参阅发布说明

 

Micronaut

Micronaut 基金会发布Micronaut Framework 4.4.0 版本,其中包括:对Micronaut Core的改进;与OpenSearch集成的新模块Micronaut OpenSearch;依赖项升级到Kotlin 1.9.23;并更新了许多 Micronaut 模块。有关该版本的更多详细信息,请参阅发布说明

 

Hibernate

Hibernate ORM 7.0.0 的第一个alpha版本提供了:向Jakarta Persistence 3.2规范的迁移,最新版本将在 Jakarta EE 11 中交付;JDK 17 的基线;一个新的 XSD 文件,该文件表示编织在 Hibernate 特定映射特性中的 Jakarta Persistence orm.XSD 文件的扩展;以及从Hibernate Commons Annotations(HCANN)迁移到新的Hibernate Models项目,用于应用程序域模型的低级别处理。

 

Hazelcast

Hazelcast Platform 5.4 的发布提供了以下新特性:分层存储(Tiered Storage),这是一种确保频繁访问(高命中率)数据保持在快速内存中,而不太频繁访问(低命中率)的数据存储在更便宜的磁盘上的技术;在 Hazelcast CP子系统中添加了新的CPMap数据结构,用于改进数据一致性;以及用于客户端和集群成员的Thread-Per-Core架构,以提高系统性能。有关该版本的更多详细信息,请参阅最新动态页面。请注意,这些新特性适用于 Hazelcast 的企业版。

 

Infinispan

Infinispan的 15.0.2 和 14.0.28 版本进行了显著的更改,例如:在 ThrowableExternalizer 类中没有正确封送时抛出 OutdatedTopologyExceptionQueryEngine 类的实例为执行的每个查询记录 DEBUG 消息;以及从 Java ElementScanner8ElementScanner14 的迁移,因为前者无法在ComponentAnnotationProcessor 类中进行编译。有关这些版本的更多详细信息,请参阅版本15.0.2和版本14.0.28的发布说明。

 

阿帕奇软件基金会

Apache TomEE 9.1.3 的发布提供了依赖项升级,修复了TomEE Embedded Maven插件不注册 Microprofile 文件端点的缺陷,以及引入了占位符替换的新特性,使Simple MDB激活属性更加可定制。有关该版本的更多详细信息,请参阅发布说明

 

Apache Tomcat11.0.0-M199.0.88版本进行了显著的更改,例如:增强了 cookie 头的生成;以及在重新加载 TLS 配置和文件时的回归解决方案。版本 11.0.0-M19 还在即将发布的 akarta EE 11 中完成了对规范的更新。有关这些版本的更多详细信息,请参阅版本11.0.0-M19和版本9.0.88的发布说明。

 

Apache Struts 6.4.0 的发布提供了缺陷修复、依赖项升级和一些显著的改进,例如:对SecurityMemberAccess 类进行了可扩展更改,并提供了原型 bean,允许应用程序轻松扩展其功能并改进配置加载;并用推荐的 getInjectionTargetFactory() 方法替换了 Jakarta CDI BeanManager 接口中定义的已弃用的 createInjectionTarget() 方法。有关该版本的更多详细信息,请参阅发布说明

 

OpenXava

OpenXava 7.3 的发布提供了缺陷修复、文档改进、依赖项升级和一些显著的新特性,如:遵守开放式Web应用程序安全项目(Open Web Application Security Project,OWASP),以提高 OpenXava 项目的安全性;增强的用户体验和用户界面;以及对 Calendar 类的改进。有关该版本的更多详细信息,请参阅发布说明

 

LangChain4j

LangChain for Java (LangChain4j)0.30.0 版本提供了缺陷修复和一些显著的更改,例如:添加了 getter 方法,并将 AnthropicCreateMessageRequest 类中的属性范围从 protected 更改为 public ;​​并支持在方法参数中使用带 @UserMessage annotation 注解的模板变量。有关该版本的更多详细信息,请参阅发布说明

 

JHipster Lite

JHipster Lite 1.7.0 版本的发布提供了缺陷修复、依赖项升级和新特性/增强,例如:为 Gradle 和 Maven 创建不可知的 Java 构建属性;并在GradleCommandHandler类中提供了AddJavaBuildProfile 命令的实现。有关该版本的更多详细信息,请参阅发布说明

 

JDKUpdater

JDKUpdater发布了 14.0.39+67 和 14.0.39+65 版本,这是一个新的实用程序,为开发人员提供了跟踪与 OpenJDK 和 GraalVM 构建相关更新的能力。这些版本由 Azul 的首席工程师Gerrit Grunwald于 3 月中旬推出,包括:支持由Jabba维护的 OpenJDK 构建版本;在“设置”视图的开关中添加了维护图标;并解决了与剩余天数显示相关的小问题。有关该版本的更多详细信息,请参阅发布说明

 

JDK Operator SDK

Java Operator SDK 4.8.3 的发布对依赖项进行了升级,并进行了一些显著的更改,例如:允许在 EventProcessor 类的实例启动时接收事件的解决方案;以及对 Controller 类中定义的 changeNamespaces() 方法进行更改以启动事件处理器,但仍然需要处理命名空间的更改。有关该版本的更多详细信息,请参阅发布说明

 

Jox

Jox 0.2.0 已经发布,它是一个虚拟线程库,在 Java 中实现了一个高效的 Channel 数据结构,旨在与虚拟线程一起使用,其特点是将以 …safe() 结尾的方法(如 sendSafe() )重命名为 …orClosed() (如 sendOrClosed() ),相应的灵感来自于这篇与 Kotlin 协程相关的论文。有关该版本的更多详细信息,请参阅发布说明

 

原文链接:

https://www.infoq.com/news/2024/04/java-news-roundup-apr15-2024/

 

2024-04-29 10:5610669

评论

发布
暂无评论
发现更多内容

有IDE工具能让小程序快速运行在自有App上?

Speedoooo

ide 开发者工具 开发工具 小程序ide

linux删除目录下文件的几种方法

入门小站

给微信小程序配一个App如何?

FinClip

finclip 小程序转app

eBPF 简介

申屠鹏会

ebpf

拯救工程师,远程开发C++的四大秘笈|视频教程

OneFlow

c++ 教程分享

web前端培训Vue3 TypeScript 如何实现useRequest

@零度

Vue 前端开发

“技术商人”溯源考

IT民工大叔

华为 工程师 任正非讲话 商业意识 复合型人才

模块3-外包学生管理系统架构文档

Fan

「架构实战营」

高校学生请注意:想成为技术大牛,参加这个计划就够了!

科技热闻

智能手表的机遇与挑战

Geek_99967b

物联网

中小互联网公司研发效能团队规模、职能划分和优劣势分析

laofo

DevOps cicd 研发效能 持续交付 互联网公司

没有JDK和Maven,用Docker也能构建Maven工程

程序员欣宸

Java Docker maven 5月月更

CC2530 ADC配置步骤

DS小龙哥

5月月更

SAP UI5 框架的 manifest.json

汪子熙

前端开发 SAP Fiori SAP UI5 5月月更

企业电子文档管理需要注意的点及解决措施

小炮

文档管理

小程序转App仅需7步

Speedoooo

ide APP开发 小程序转app 前端IDE

如何在 JavaScript 中让代码更加精简

devpoint

ES6 6月月更

IOC思想开窍之路

留乘船

Java spring ioc

校企融合,打造金融科技应用人才高地

非凸科技

校企合作 非凸

在线文本左边批量添加字符串工具

入门小站

工具

如何获得一场黑客马拉松的胜利?听听AWS特约评委怎么说

FinClip

小程序 黑客马拉松 finclip

近一个月B站封禁直播间1874个:直播行业仍然是违规重灾区

石头IT视角

在线HTML转ASP工具

入门小站

工具

服务端技术进阶(三)从架构到监控报警,支付系统设计如何步步为营

No Silver Bullet

架构 支付系统 架构设计 5月月更 监控报警

模块七

ASCE

小程序生态构建能力,离不开UI定制自由

Speedoooo

ide 小程序ide

3000帧动画图解MySQL为什么需要binlog、redo log和undo log

CoderW

后端 面试题 Binlog Redo Log MySQL 数据库

王者荣耀商城异地多活架构设计

小虾米

架构师实战营

探密"一学就会,一用就废"的OKR

Bruce Talk

OKR 敏捷 Agile

性能优化手记上篇之【原则】&【方法】

鲸品堂

在FinClip Hackathon中夺冠是一种什么样的体验?

FinClip

小程序 黑客马拉松 finclip

Java近期新闻:Jakarta EE 11-M2、 提升为JDK 23 Targeted状态的JEPs、Spring Boot、 Hibernate、 GlassFish_编程语言_Michael Redlich_InfoQ精选文章