AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

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:5610564

评论

发布
暂无评论

不再单调!快来自定义你的专属背景~

优麒麟

Linux 开源 操作系统 优麒麟 用户登录

俄乌战争下的国产数据库替换思考-墨天轮

墨天轮

数据库 oracle 达梦 gbase8a

netty系列之:netty中的自动解码器ReplayingDecoder

程序那些事

Java Netty 程序那些事 4月月更

在Rainbond上部署高可用Apollo集群

北京好雨科技有限公司

AliPLC 智能丢包补偿算法,提升弱网环境的通话质量

阿里云CloudImagine

音视频 音频 视频云 音频算法 丢包补偿

直播预告|年营业额百亿的企业都在如何做数字化转型

云智慧AIOps社区

数字化转型 AIOPS 解决方案 智能运维

@所有高校师生,2022全国大学生物联网设计竞赛火热开启,限量礼品等你来拿!

HarmonyOS开发者

HarmonyOS 物联网设计竞赛

盘点近期虎符交易所上线的项目

区块链前沿News

虎符交易所

大咖说|阿里巴巴副总裁陈龙:数字技术将在绿色低碳转型中发挥关键作用

大咖说

阿里巴巴 数字化 碳中和

自助洗车设备全套多少钱?有了解的吗

共享电单车厂家

自助洗车机价格 自助洗车加盟 自助洗车设备多少钱

RDP是什么意思?有什么用?

行云管家

运维 网络协议 RDP

crontab命令详细介绍教程,快来围观

CRMEB

如何设计帮助中心才能真正地帮助客户解决问题?

小炮

帮助中心

在Linux环境下安装SQLserver2017

春风十里

数据库 Linux SqlServer

“转型·破局” 看数字化会员如何重塑企业竞争力

科技热闻

逃离过度努力陷阱

FunTester

FunTester 湛卢 轻松主义

杭州等保测评公司有哪些?分别叫什么?如何能查到?

行云管家

等保 等级保护 等保测评 杭州

零信任访问控制下企业ABAC的实施问题

Geek_2d6073

Tapdata PDK 生态共建计划启动!MongoDB、Doris、OceanBase、PolarDB等十余家厂商首批加入

MongoDB中文社区

多个角度论证SeekTiger 生态核心STI的魅力

西柚子

PHP项目微信提现功能代码详解

CRMEB

百度荣获 “2021年中国网络安全产业联盟数据安全工作委员会突出贡献奖”

百度开发者中心

如何通过Password Vault的XSS漏洞窃取用户密码信息

喀拉峻

网络安全 XSS

Docker 实战教程之从入门到提高(一)

汪子熙

Docker Kubernetes 容器 镜像 4月月更

jackson学习之六:常用类注解

程序员欣宸

4月月更

重磅!百度安全参编的国家标准《信息安全技术 术语》正式发布

百度开发者中心

易周金融观点 | 数字人民币试点扩大带动增量场景需求

易观分析

金融 数字化人民币

SAE 联合乘云至达与谱尼测试携手共同抗疫

阿里巴巴云原生

eBPF Cilium实战(2) - 底层网络可观测性

北京好雨科技有限公司

Docker Kubernetes PaaS cilium

ETL 和数仓建模的设计思路!

五分钟学大数据

4月月更

“囤菜新宠”预制菜,会是生鲜电商的破局点吗?

易观分析

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