【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

评论

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

典型的大型互联网应用系统的技术方案和手段

快讯2020第十三届亚洲国际物联网展览会-南京站

InfoQ_caf7dbb9aa8a

我就不服了,看完这篇文章,5大常见消息队列开发你还学不会

小Q

Java 编程 程序员 开发 消息队列

LeetCode题解:104. 二叉树的最大深度,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

2020第十三届南京国际大数据产业博览会

InfoQ_caf7dbb9aa8a

什么是 Kubeless?| 玩转 Kubeless

donghui

Kubernetes kubeless

MySQL-技术专题-Join语法以及性能优化

洛神灬殇

20年开源老司机手把手教你玩开源——openEuler入门指南

openEuler

Linux 开源 系统操作

全屋智能2020第十三届(南京)国际智能家居展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际智慧新零售暨无人售货展览会

InfoQ_caf7dbb9aa8a

技术革新的脉络及趋势

凌晞

技术 进步

架构师训练营第一期 - 第四周课后 - 作业二

极客大学架构师训练营

2020南京国际人工智能产品展览会

InfoQ_caf7dbb9aa8a

人工智能

轻言业务架构图

凌晞

架构 企业架构 架构设计 架构设计原则 业务架构

MySQL-技术专题-实战技巧

洛神灬殇

转型敏捷123

研发管理Jojo

java安全编码指南之:lock和同步的正确使用

程序那些事

java安全编码 java安全 java安全编码指南 java编码

2020第十三届南京国际智慧停车展览会

InfoQ_caf7dbb9aa8a

从戚家军看组织战斗力塑造(组织的六脉神剑)

凌晞

组织

“三段三域法”应用架构模型

凌晞

架构 架构设计 技术架构

手把手教你锤面试官 04——假装精通redis

慵懒的土拨鼠

2020第十三届(南京)智慧城市技术与应用产品展览会

InfoQ_caf7dbb9aa8a

坚持写技术博客一年能有多少收获!

小傅哥

Java 面试 架构师 编程经验 技术博客

Java 客户端操作 FastDFS 实现文件上传下载替换删除

哈喽沃德先生

Java 文件系统 分布式文件存储 fastdfs 文件服务器

高难度对话读书笔记——目的篇

wo是一棵草

PanDownload复活了!60MB/s!附下载地址

程序员生活志

PanDownload 网盘 下载器

技术解码 | 玩转视频播放,自适应码流技术

腾讯云音视频

音视频 转码

架构方法论之“极限审视法”

凌晞

架构 方法论 设计思维

2020南京国际工业互联网及工业通讯展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际智慧工地装备展览会

InfoQ_caf7dbb9aa8a

MySQL-技术专题-SQL性能分析

洛神灬殇

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