写点什么

Java 近期新闻:Spring Boot 3.2、Spring Pulsar 1.0、Hibernate 6.4、JEP 447

  • 2023-12-06
    北京
  • 本文字数:4135 字

    阅读完需:约 14 分钟

大小:2.06M时长:12:01
Java近期新闻:Spring Boot 3.2、Spring Pulsar 1.0、Hibernate 6.4、JEP 447

OpenJDK


在结束了评审之后,JEP 447(super()前置语句(预览)),已经从 Proposed to Target 进入到 Targeted( JDK 22)状态。这个 JEP 来自Project Amber,提议允许在构造函数的 this()super() 之前出现不引用正在创建的实例的语句并保留构造函数现有的安全性和初始化保证。Oracle 技术顾问成员Gavin Bierman为 Java 社区提供了这个 JEP 的初始规范,供社区评审并提供反馈意见。


JEP 461(Stream Gatherers(预览))已经从 Candidate 计入到 Proposed to Target( JDK 22)阶段。这个 JEP 提议增强 Stream API,让其支持自定义中间操作。“流式管道操作将可以通过现有内置中间操作不易实现的方式转换数据。”更多关于该 JEP 的细节可在 Oracle Java 平台组软件架构师Viktor Klang撰写的原始设计文档中找到。评审于 2023 年 11 月 29 日结束。


JEP 462(结构化并发(第二次预览))已经从 Candidate 计入到 Proposed to Target( JDK 22)阶段。这个 JEP 建议在 JDK 22 中重新预览该 API,以获取自前一轮预览以来更多的反馈:JEP 453(结构化并发(预览),已在 JDK 21 中发布)。这个功能通过引入结构化并发来简化并发编程,“将不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消操作,提高可靠性并增强可观察性。”评审于 2023 年 12 月 1 日结束。


JEP 458(启动多文件源码程序)已经从 Candidate 计入到 Proposed to Target( JDK 22)阶段。这个 JEP 提议增强 Java Launcher,可以执行作为一个或多个 Java 源代码文件提供的应用程序,让小型应用可以在延迟完整项目设置的情况下逐渐过渡到大型应用。评审于 2023 年 12 月 1 日结束。


JDK 22


JDK 22 早期访问构建版本Build 25已发布,其中包含来自 Build 24 的更新,修复了各种问题。有关此版本的更多详细信息,请参阅版本说明


对于JDK 22,开发者可以通过Java Bug Database报告 Bug。


Spring Framework


Spring Boot 3.2.0发布,包含了 bug 修复、文档改进、依赖项升级和新特性,例如:支持Oracle Free,它是Oracle XE的替代品,包含了 Testcontainers 和 Docker Compose;修改了参数名发现的方式,通过解析字节码替代推断参数名;支持 Jetty 12;支持 Spring Framework 6.1 中引入的新RestClient接口。有关此版本的更多详细信息,请查看版本说明


类似地,Spring Boot 3.1.63.0.132.7.18包含了 bug 修复、文档改进、依赖项升级,并新增了一个特性,即将默认的 Cloud Native Buildpacks(CNB)升级为Paketo Jammy,因为 Paketo Bionic Builder 被声明为不安全的。有关这些版本的更多详细信息,请查看3.1.63.0.132.7.18的版本说明。


Spring Framework 6.1.1发布,修复了 bug、改进了文档,并引入了新特性,例如:在StreamUtils类的copy(String)方法中跳过不必要的缓冲区分配;解决了JDK 17isReadable()方法并发泄漏大量非堆内存的问题。有关此版本的更多详细信息,请查看版本说明


Spring Security 6.2.0发布,包含了 bug 修复、依赖项升级和新特性:在AuthorizationManagerBeforeReactiveMethodInterceptorAuthorizationManagerAfterReactiveMethodInterceptor类中支持 Kotlin 协程;简化了配置 OAuth2 客户端组件模型。有关此版本的更多详细信息,请查看版本说明新特性页面。


Spring Authorization Server 1.2.0发布,包含了文档改进、依赖项升级和新特性,例如:允许在 Spring Security 的AuthorizationGrantType类中为AUTHORIZATION_CODEREFRESH_TOKEN授权类型配置可配置的刷新令牌策略;引入了 Ahead-of-Time(AOT)优化或AOT提示,用于解决使用 GraalVM 生成原始镜像失败的问题。有关此版本的更多详细信息,请查看版本说明


Spring for GraphQL 1.2.4发布,包含了 bug 修复、文档改进、依赖项升级和新特性,例如:改进了在ResponseMapGraphQlResponse类中解析 GraphQL SourceLocation类的linecolumn属性;在ArgumentValueValueExtractor类中使用isOmitted()方法而不是ArgumentValue类的isPresent()方法来实现null 参数验证。有关此版本的更多详细信息,请查看版本说明


Spring Integration 6.2.0发布,包含了一些重要的变更,如:修复HazelcastMetadataStoreTests类中的竞态条件;FtpSession类中更健壮的readRaw()finalizeRaw()方法,消除由于550 FTP Response错误引起的异常;由于 MacOS 上的未知延迟会导致测试失败,增加 FTP RotatingServersTests类的超时时间。有关此版本的更多详细信息,请查看版本说明新特性页面。


Spring Session 3.2.0发布,包含了许多依赖项升级和一个新特性,即对于自定义实现CookieSerializer接口中未设置rememberMeRequestAttribute属性的情况,改进了文档和日志记录。有关此版本的更多详细信息,请查看版本说明新特性页面。


Spring Vault 3.1发布,改进了文档、升级了依赖项并新增了特性,例如:在VaultTokenRequest类支持 HashiCorp Vault role_nameentity_alias参数;新增了AuthenticationEventMulticaster接口,用于管理多个AuthenticationEventAuthenticationErrorEvent对象并向其发布事件。有关此版本的更多详细信息,请查看版本说明


Spring for Apache Pulsar 1.0.0发布,带来了显著的变更,例如:PulsarAdministration类接受多个PulsarAdminBuilderCustomizer接口实例;避免 Spring Boot 依赖 Spring for Apache Pulsar 时的“鸡和蛋”问题。有关此版本的更多详细信息,请查看版本说明


Spring for Apache KafkaSpring for RabbitMQ 3.1.0发布,包含了 bug 修复、文档改进和依赖项升级。Spring for Apache Kafka 的新特性包括:删除EmbeddedKafkaKraftBroker类的brokerListProperty属性设置,该设置可能导致在属性为null时抛出异常;提供了一种定义与@KafkaListener注解关联的ContainerCustomizer Bean 名称的方式。更多详细信息,请参阅Apache KafkaRabbitMQ的版本说明。


Spring Modulith 1.1.0 和 1.0.3发布,包含了 Bug 修复、依赖项升级和新特性,例如:使用 Spring Framework 的BeanFactoryInitializationAotProcessor接口而不是ApplicationModules类在原生镜像上初始化执行器端点;Spring Data MongoTemplate类中定义的updateFirst()方法不支持排序操作,开发者应该使用findAndModify()方法。有关此版本的更多详细信息,请查看1.1.01.0.3的版本说明。


Eclipse Store


Eclipse 基金会发布了EclipseStore 1.0.0,这是一个 Java 本地持久化库,从之前的MicroStream Storage 8.1.1迁移而来,新版本首次由 Eclipse 基金会发布。有关此发布的更多详细信息,请查看版本说明


Quarkus


Red Hat 发布了Quarkus 3.5.3,其中包含了一些重要的变更,例如:MultipartFormDataOutput类的HashMap切换到了LinkedHashMap,以保持用户的输入顺序;确保在 WebSocket 注入器之前对 GraphQL 进行身份验证和授权。有关此版本的更多详细信息,请查看更新日志


类似地,Quarkus 3.2.9.Final 也已发布,包含了以下重要变更:解决了带有Throwable参数的@ServerResponseFilter注解在 REST 资源抛出异常时未被调用的问题;处理了通过CacheResultInterceptor类缓存 REST 调用响应时发生的重复上下文混合问题。有关此版本的更多详细信息,请查看更新日志


Hibernate


Hibernate ORM 6.4.0.Final发布,带来了一个新的@SoftDelete注解,用于支持软删除,删除与非删除对应值 active/inactive;实现了在 HQL 和 Criteria 查询中处理数组的其余函数;支持在 JDK Flight Recorder 中编写 Hibernate 特定事件。


Hibernate Search 7.0.0 的第二个候选版本发布,包括:Bug 修复;与 Jakarta EE、Hibernate ORM 的基于鉴别器的多租户、Elasticsearch 8.11、OpenSearch 2.10 和 2.11 兼容;依赖项升级到 Hibernate ORM 6.4.0.Final 和 Apache Lucene 9.8。Hibernate Search 7.0.0.CR2 需要 JDK 最低版本为 11。


Infinispan


Infinispan 15.0.0.Dev05 已发布,其显著变化包括:在 Spring 测试中使用 Spring Framework 的@DirtiesContext注解来强制停止缓存管理器;改进了WriteSkewConsistencyTest类,解决了随机出现失败问题;将Jakarta JSON Processing的依赖从javax.*命名空间迁移到jakarta.*,以符合 WildFly Elytron 2.x 的要求。有关此版本的更多详细信息,请查看问题列表


类似地,Infinispan 14.0.21.Final 也已发布,其显著变化包括:Java ConcurrentMap接口中的默认方法应确保在遇到错误时关闭迭代器;在实现虚拟线程方面的改进;创建用于测量节点之间延迟的指标。有关此版本的更多详细信息,请查看问题列表


JHipster


JHipster Lite 0.49.0 已发布,包含了 Bug 修复、依赖项升级和特性增强:GraalVM 自动化构建;在Dummy特性中添加了package-info.java文件。有关此版本的更多详细信息,请查看版本说明


JBang


JBang 0.113.0 和 0.112.4 带来了一些显著变化,例如:命令行新的展开方式,可以解析表达式内的依赖项并用类路径替换它(请参见下面的示例);修复了通过--debug命令行参数提供自定义端口时仍然使用默认端口 4004 的问题;更新了docker-compose文件,修复测试代理需要身份验证的问题。有关这些版本的更多详细信息,请查看0.113.00.112.4的版本说明。


新的命令行展开特性允许开发者编写如下代码:


$ jbang sqlline@maxandersen -cp other args


OpenXava


OpenXava 7.2.0 包含了 Bug 修复、依赖项升级和新特性,例如:支持 JDK 21;改进日历,可以显示周或日;大量网络安全增强特性。有关此版本的更多详细信息,请查看版本说明


Testcontainers for Java


Testcontainers for Java 1.19.3 已发布,包含了 Bug 修复,例如:使用ContainerDef类注册缺失的默认网络别名;由于使用了GenericContainer类中定义的setImage()方法而导致的回归问题;以及在SQLScriptScanner中出现的大型字符串文本和 PostgreSQL 标识符的 Bug。


Gradle


Gradle 8.5.0 的第四个候选版本带来了一些新特性,例如:完全支持使用 JDK 21 进行编译、测试和运行;Kotlin DSL的改进,包括更快的初次使用和预编译 Kotlin 脚本插件的版本目录支持;改进的错误和警告报告。有关此版本的更多详细信息,请查看版本说明


JCON World


JCON World 2023大会是由Java User Group Oberpfalz组织的国际在线 Java 社区大会,已于上周举行,来自 Java 社区的 100 多名演讲者三天内做了主题演讲、组织了小时会和研讨会。


原文链接

https://www.infoq.com/news/2023/11/java-news-roundup-nov20-2023/

2023-12-06 08:005558

评论

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

WebRTC 如何在安卓系统上采集视频数据 | 社区征文

liuzhen007

音视频 新春征文 2月月更

ReactNative进阶(五十):IOS 系统 Crash 日志分析实战

No Silver Bullet

ios React Native 2月月更

也谈一下Web3.0-01

wood

300天创作 Web3.0

【以太坊剖析】以太坊虚拟机(EVM)之基本定义

起航

区块链 以太坊 EVM 以太坊虚拟机

ReactNative进阶(四十五):渐变组件 react-native-linear-gradient

No Silver Bullet

React Native 2月月更

ReactNative进阶(四十七):移动端调试利器 vConsole

No Silver Bullet

ReactNative 2月月更 vconsole

【技术】谈ServiceMesh落地的三大难题:选型、过渡、多集群

极光一号。

云原生 servicemesh 服务网格 应用交付

以太坊剖析 - 区块(Block)

起航

区块链 以太坊

以太坊剖析 - 交易收据(TransactionReceipt)

起航

区块链 以太坊

(2-1/26) 滑雪的准备

mtfelix

300天创作

ReactNative进阶(四十八):Mobile App 适配性优化实战

No Silver Bullet

适配 ReactNative 2月月更

怎样设计一个广告系统

俞凡

架构 大厂实践 2月月更

ReactNative进阶(五十一): 常见样式梳理

No Silver Bullet

CSS ReactNative 2月月更

共赴冰雪之约,见证体育场馆的数字化之旅

脑极体

【拥有新时代的通信协议,引领云原生迈向更高的舞台】解密Dubbo3从微服务升华到云原生 | 社区征文

码界西柚

云原生 Cloud Native Dubbo3 新春征文 2月月更

MySQL架构设计

JavaEdge

2月月更

原型与原型链

编程三昧

JavaScript 前端 1月月更

浅析 Python 中的 Collections 模块

宇宙之一粟

Python 2月月更

Netflix是如何做决策的? | 3. A/B测试结果之假阳性和统计显著性

俞凡

数据分析 netflix 大厂实践 2月月更

使用 React、Solidity 和 Web3.js 构建真实世界的 dApp

devpoint

dapp React Solidity Web3.0 2月月更

Netflix是如何做决策的? | 1. Netflix的决策制定

俞凡

数据分析 netflix 大厂实践 2月月更

Firefox 登录后无法同步书签

TroyLiu

firefox 工具 浏览器 数据同步 书签

Netflix是如何做决策的? | 2. 什么是A/B测试

俞凡

数据分析 netflix 大厂实践 2月月更

微信朋友圈高性能复杂度分析

唐尤华

架构实战营

再解 JavaScript 原型 与原型链

编程三昧

JavaScript 前端 原型 原型链 2月月更

以太坊剖析 - 区块头部(BlockHeader)

起航

区块链 以太坊

《卡片笔记写作法》读书笔记 - 重新认知思考和写作

懒时小窝

读书感悟 读书总结

精度丢失问题

编程三昧

2月月更

以太坊剖析 - 交易执行(TransactionExecutor)

起航

区块链 以太坊

JDK9响应式流使用详解

蜜糖的代码注释

Java Java9 2月月更 响应式流

JVM进阶(一):初识 JAVA 栈

No Silver Bullet

Java JVM 2月月更

Java近期新闻:Spring Boot 3.2、Spring Pulsar 1.0、Hibernate 6.4、JEP 447_编程语言_Michael Redlich_InfoQ精选文章