硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

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

评论

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

微博评论架构分析

小麦🌾

架构实战营

架构实战营模块五作业

孙志强

架构实战营

16张图解锁Spring的整体脉络

4ye

Java spring 程序员 后端 签约计划第二季

dart系列之:时间你慢点走,我要在dart中抓住你

程序那些事

flutter 架构 dart 程序那些事 11月日更

阿里云 Serverless 助力企业全面拥抱云原生

阿里巴巴云原生

阿里云 Serverless 云原生 企业

云原生体系下 Serverless 弹性探索与实践

阿里巴巴云原生

阿里云 Serverless 云原生 弹性 SAE

java开发之DOS命令学习及运行环境配置安装

@零度

java开发学习 DOS命令学习

KubeMeet 深圳站回顾:应对云原生边缘计算落地挑战

阿里巴巴云原生

阿里云 Kubernetes 云原生 线下活动

爱奇艺TFServing负载均衡问题研究及改进实践

爱奇艺技术产品团队

Elasticsearch云生态下的开源共生之路

大咖说

云计算 elasticsearch 开源

移动计算云分布式数据缓存服务,实现快速可靠的跨区域多活复制

华为云开发者联盟

可用性 云数据缓存 跨区域多活 无冲突复制数据类型CRDT

应对 Job 场景,Serverless 如何帮助企业便捷上云

阿里巴巴云原生

阿里云 Serverless 云原生 函数 Job

react源码解析3.react源码架构

buchila11

源码 React React Hooks react源码

服务API版本控制设计与实践

vivo互联网技术

API 服务器端开发 客户端开发 迭代

Python量化数据仓库搭建系列2:Python操作数据库

恒生LIGHT云社区

Python 量化

数仓开发详细剖析

五分钟学大数据

11月日更

大厂算法面试之leetcode精讲9.位运算

全栈潇晨

算法 LeetCode

如何使用 Java 代码给图片增加倒影效果

汪子熙

Java API 图片处理 11月日更 Java图片

大厂算法面试之leetcode精讲10.递归&分治

全栈潇晨

LeetCode 算法面试

react源码解析4.源码目录结构和调试

buchila11

React React Hooks

百度商业大规模高性能全息日志检索技术揭秘

百度Geek说

软件架构

架构训练营 - 模块 5 作业

焦龙

架构训练营

Perforce用户文章转载:每个游戏从业者都应该学学P4

龙智—DevSecOps解决方案

版本控制 游戏开发 版本管理 perforce 游戏厂商

测试不趁早,“持续测试”搞不好

飞算JavaAI开发助手

DevOps 敏捷开发 自动化测试

1 分钟 Serverless 极速抽盲盒,自己部署自己抽!

阿里巴巴云原生

阿里云 Serverless 云原生

Linux学习方法《Linux一学就会》Centos8软件包的管理与安装

侠盗安全

Linux linux运维 运维工程师 云计算架构师

内存数据库的分布式架构提升之道

鲸品堂

数据库

直播预告|数以智用——大数据应用探索与实践

智联卓聘

大数据 数据管理 线上沙龙

如何在P4中管理Unreal Engine 代码

龙智—DevSecOps解决方案

版本控制 游戏开发 版本管理 游戏引擎 虚幻引擎

PackML从会到不会——状态机(1)

陈的错题集

标准化 PackML

并发编程中,你加的锁未必安全

华为云开发者联盟

线程 高并发 并发 线程安全

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