写点什么

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

评论

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

java 是什么?作用是什么?

InfoQ_34a83d636158

Week11

丿淡忘

高可用注意点

dony.zhang

高可用 高可用系统的架构 高可用系统的运维

架构师0期Week11作业2

Nan Jiang

调度选得好,下班回家早

易观大数据

账户经常被盗号怎么办?防盗“黑科技”了解一下

华为云开发者联盟

华为云 云安全 主机安全 双因子认证 弱密码

Lambda架构已死,去ETL化的IOTA才是未来

易观大数据

熔断、限流的一些理解

elfkingw

Grabana:使用 Golang 或 Yaml 生成 Grafana Dashboard

郭旭东

Grafana Go 语言

程序员不得不知的软技能

架构精进之路

软技能

作为程序员,推荐5种编程语言!

代码制造者

Python 编程语言 低代码 C语言 零代码

知乎李大海与阿里云贾扬清联合直播,AI大咖眼中的行业前景

InfoQ_967a83c6d0d7

力扣1514——概率最大的路径

健健

算法 最短路径

架构训练营第十一周感悟

张锐

XSKY S3 Console 为对象存储系统赋能

XSKY星辰天合

SpreadJS 纯前端表格控件应用案例:在线问卷系统

葡萄城技术团队

LeetCode题解:20. 有效的括号,while循环replace,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构训练营第十一周作业

张锐

USDT承兑商系统开发,USDT支付系统软件搭建

13530558032

安全&高可用架构

dony.zhang

高可用 安全 安全架构 高可用系统的架构 高可用系统的运维

朱嘉明:新冠肺炎疫情如何改变社会成本观念和结构

CECBC

社会结构 社会观念

IDEA插件之Mybatis Log plugin破解!!!

不才陈某

Java idea插件

架构师0期Week11作业1

Nan Jiang

深圳数字货币交易所开发商,币币撮合交易软件开发

13530558032

30万奖金等你拿!Apache Flink 极客挑战赛入门指南(附Demo)

Apache Flink

flink

针对目前在线教育存在问题的解决方案

anyRTC开发者

WebRTC 在线教育 直播 安卓

源码解析 | 万字长文详解 Flink 中的 CopyOnWriteStateTable

Apache Flink

flink

合约跟单APP开发模式,合约跟单系统源码搭建

13530558032

安全及高可用策略

Lane

极客大学架构师训练营

解码微盟半年财报:同比增长59.9%,SaaS商业版图不断扩大

ToB行业头条

SaaS 微盟

区块链钱包系统开发服务商,区块链钱包应用搭建

13530558032

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