写点什么

Java 近期新闻:JDK 22 RC2、Spring 生态系统、Payara Platform

  • 2024-03-25
    北京
  • 本文字数:4785 字

    阅读完需:约 16 分钟

大小:2.34M时长:13:39
Java近期新闻:JDK 22 RC2、Spring生态系统、Payara Platform

OpenJDK


Project Jextract(也叫 Project Panama)的早期访问版本 Build 22-jextract+3-13 已经向 Java 社区提供 ,它基于即将发布的 JDK 22 GA 版本。


类似地,Project Loom 的早期访问版本 Build 23-loom+2-48 也已可用。这些版本基于 JDK 23 早期访问版本的 Build 10,并且 改进了 Java 监视器的实现,即同步方法,以更好地与虚拟线程配合工作。


JDK 23


JDK 23 早期访问版本Build 11 已发布,其中包含了自 Build 10 以来的更新,包括了对各种 问题 的修复。有关此版本的更多详细信息,请参阅 发行说明


JDK 22


JDK 22 早期访问版本Build 36 仍然为当前版本。关于此版本的更多详细信息,请参阅 发行说明


Oracle Java 平台团队首席架构师Mark Reinhold宣布 JDK 22 已经进入了第二个发行候选版阶段,Build 36 中修复了一个合规性问题。预计 GA 版本将于 2024 年 3 月 19 日发布。


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


GraalVM


Oracle Labs 发布 Native Build Tools 0.10.1 ,这是 GraalVM 项目的一部分,该项目包含了各种用于与 GraalVM Native Image 进行互操作的插件。新版本带来了显着的变更,例如:解决了由于依赖 JAR 失败而导致 FileSystems 类中的 newFileSystem() 方法抛出 FileSystemAlreadyExistsException 的问题(如果另一个 Maven 插件已经创建了文件系统对象);修复了在 Gradle 构建文件中禁用元数据存储库的 Kotlin 代码片段;添加了用于构建时初始化的 JUnit 5 类型,使其成为镜像堆的一部分。有关此版本的更多详细信息,请参阅 变更日志


Spring Framework


Spring Boot 3.3.0 的 第二个里程碑版本 包含了 bug 修复、文档改进、依赖项升级和新特性,例如:新的 @BatchTransactionManager 注解,用于改进 Spring Batch 的配置,可以使用自定义事务管理器;使用 Micrometer 的 ObservationRequestEventListener 类来改进在使用 Eclipse Jersey 时的跟踪支持;为 JooqExceptionTranslator 类添加了条件 Bean,用以消除异常被翻译两次的问题。有关此版本的更多详细信息,请参阅 发行说明


Spring Boot 3.2.3 版本 改进了文档、依赖项升级,并修复了一些显著的问题,例如:在使用非影子 Apache Pulsar ObjectMapperFactory 类并配置认证参数时出现 NoSuchMethodError;移除了 Jetty GracefulShutdown 类中使用的 System.out。有关此版本的更多详细信息,请参阅 发行说明


注意: Spring Boot 3.3.0-M2 和 3.2.3 升级了 Hibernate 6.4.4.Final。虽然这个版本的 Hibernate 包含了许多有价值的 bug 修复,但它在原生镜像中无法正常工作。对于使用 GraalVM 的开发者来说,应该通过 hibernate.version 属性临时将 Hibernate 降级到 6.4.2.Final。


类似地,Spring Boot 3.1.9 版本 包含了文档改进、依赖项升级和显著的问题修复,例如:在缺失参数时,Spring WebFlux 执行器端点会返回 HTTP 500 响应码;当配置属性绑定使用转换器从属性值创建 Map 时,属性占位符不会被解析。有关此版本的更多详细信息,请参阅 发行说明


注意: Spring Boot 3.1.9 升级了 Hibernate 6.2.22.Final。虽然这个版本的 Hibernate 包含了许多有价值的 bug 修复,但它在原生镜像中无法正常工作。对于使用 GraalVM 的开发者来说,应该通过 hibernate.version 属性临时将 Hibernate 降级到 6.2.20.Final。


Spring Security 6.2.2、6.1.7 和 5.8.10 已发布,包含了文档改进、依赖项升级和显著的问题修复,例如:OAuth2AuthorizationExchange 类可被序列化,因为它使用了 OAuth2AuthorizationCodeAuthenticationToken 类的字段,该字段实现了 Serializable 接口;当上下文包含 BeanPostProcessor 接口的实现时,会提前初始化 ReactiveMethodSecurityConfiguration。有关这些发布的更多详细信息,请参阅版本 6.2.26.1.75.8.10 的发行说明。


Spring AI 0.8.0 发布,被标记为第一个里程碑版本,为创建具有高级功能的 AI 应用程序提供了基础,例如:跨 AI 提供商的可移植 API 支持,用于聊天、文本转图像和嵌入模型;通过 Vector Store API 实现跨不同提供商的可移植性;通过声明 Java Function 接口的实现让 AI 模型调用函数。有关此版本的更多详细信息,请参阅问题列表


Spring for GraphQL 1.3.0 的 第一个里程碑版本 带来了依赖项升级和新特性,例如:针对 GraphQL 端点的 Spring Framework RequestPredicate 接口的优化实现;提供了一个 SyncGraphQlTransport 接口,用于实现无 Spring WebFlux 的 GraphQL 客户端的同步版本。有关此版本的更多详细信息,请参阅 发行说明


同样地,Spring for GraphQL 1.2.5 版本 包含了 bug 修复、依赖项升级和新特性,例如:更新 ScrollSubrange 类,可以在未指定位置时从头部向前滚动或从尾部向后滚动;可从其他构建器中访问 SchemaMappingInspector 类。有关此版本的更多详细信息,请参阅 发行说明


Spring Modulith 1.2.0-M2、1.1.3 和 1.0.6 已发布,包含了 bug 修复、依赖项升级和改进,例如:修复 ApplicationModules 类中的参数名,使其与 JavaDoc 中记录的参数名相匹配;;文档的 Fundamentals 部分进行了修复和改进。有关这些版本的更多细节,请参阅 1.2.0-M21.1.31.0.6 的发行说明。


Spring Authorization Server 1.3.0 的 第二个里程碑版本 提供了一个新的 OAuth2AccessTokenAuthenticationContext 类,用于自定义访问令牌响应的能力。有关此版本的更多详细信息,请参阅 发行说明


同样地,Spring Authorization Server 1.2.2 和 1.1.5 也已发布,包含了依赖项升级,更新了Getting Started 指南中的application.yml 文件,使其与 Spring Security UserDetailsService 接口中描述的 Spring Framework @Bean 注解保持一致。有关这些版本的更多详细信息,请参阅 1.2.21.1.5 的发行说明。


Spring Batch 5.1.1 和 5.0.5 也已发布,增强了 TaskletStep 类,可以在更新内部循环之前检查步骤执行上下文的脏标志。此外,还包含了文档改进、依赖项升级和重要的 bug 修复,例如:更正了 JobOperatorFactoryBean 类中的错误消息;如果输入包含空字符串,则在 DefaultJobParametersConverter 类中抛出 ArrayIndexOutOfBoundsException。有关这些版本的更多详细信息,请参阅 5.1.15.0.5 的发行说明。


Spring for Apache Kafka 3.2.0-M1、3.1.2 和 3.0.14 也已发布,包含了 bug 修复、文档改进、依赖项升级和新特性,例如:为 Apache Kafka Consumer 接口中定义的 enforceRebalance() 方法提供一等公民支持;在 RetryingDeserializer 类中提供了一个新方法 setRecoveryCallback(),用于在重试耗尽时执行恢复回调。有关这些版本的更多详细信息,请参阅 3.2.0-M13.1.23.0.14 的发行说明。


Spring for Apache Pulsar 1.1.0 的 第一个里程碑版本 包含了 bug 修复、文档改进、依赖项升级和新特性,例如:新的 @PulsarTypeMapping 注解,可用于在消息类上指定默认的主题和/或模式信息;Apache Pulsar SchemaType 枚举中定义了新类型 AUTO_CONSUMEAUTO_PRODUCE,用于使用 AUTO_SCHEMA 生成原始 JSON 或 Avro 有效载荷。有关此版本的更多详细信息,请参阅 发行说明


类似地,Spring for Apache Pulsar 1.0.3 也已发布,包含了文档改进、依赖项升级以及解决了一个问题,即在使用启用了 AuthenticationToken 类的非影子 Pulsar 客户端时尝试调用不存在的方法。有关此版本的更多详细信息,请参阅 发行说明


Spring LDAP 3.2.2 和 3.1.4 也已发布,包含了依赖项升级和一个新特性,即现在可以通过 LdapTemplate 类执行 LDAP 搜索的日志记录。有关这些版本的更多详细信息,请参阅 3.2.23.1.4 的发行说明。


Payara


Payara 发布 Payara Platform的 2024 年 2 月版本,包括社区版 6.2024.2 和企业版 6.11.0。这两个版本都包含了 bug 修复、依赖项升级和新特性,例如:将管理员控制台中系统属性的长度从 512 增加到 4096 个字符;将 Payara Security Connectors Suite 升级到 3.2,通过启用代理配置来扩展 OIDC 连接器的功能;改进dev-mode 下的故障安全机制。有关这些版本的更多详细信息,请参阅 社区版 6.2024.2企业版 6.11.0 的发行说明。


Quarkus


Red Hat 发布 Quarkus 3.7.4 第四个维护版本,解决了一些重要的问题,例如:使用 @VirtualThreadUnit 注解会导致性能下降;OIDC 服务器错误地显示为不可用;在更新到版本 3.7.1 后,Hibernate Reactive 出现“无法找到 JDBC 驱动程序”的消息。有关此版本的更多详细信息,请参阅 变更日志


Micronaut


Micronaut 基金会发布 Micronaut Framework 4.3.3,其中包含了 Micronaut Core 4.3.8、bug 修复、文档改进和模块更新:Micronaut Hibernate Validator ConfigurationMicronaut DataMicronaut GCPMicronaut Test。建议使用 Gradle 的开发者将其应用程序更新到 Micronaut Gradle Plugins 4.3.3。有关此版本的更多详细信息,请参阅 发行说明


Infinispan


Infinispan 14.0.25.Final 带来了依赖项升级和重要变更,例如:解决了因假设 ResourceDMBean 类中定义的硬编码 getter 和 setter 方法是基于 MBean 属性具有 getter 方法而抛出 NullPointerException的问题;在并发执行 Hot Rod Client 中的新条目时,RemoteCache 接口中定义的 computeAsync() 方法可能会丢失重映射处理的结果。有关此版本的更多详细信息,请参阅 发行说明


Apache 软件基金会


Apache Camel 4.4.0 版本包含了 bug 修复、依赖项升级和新特性,例如:为 Camel JBang 提供新插件,用于模块化功能;Apache Camel 的新 Kotlin API;以及一个新的 Camel WebAssembly 组件。有关此版本的更多详细信息,请参阅 发行说明


Apache Tomcat 9.0.868.5.99 已发布,其中包含 bug 修复和重要变更:对 CSRF 防护过滤器的改进,包括跳过为资源名和子树 URL 模式添加 nonce 的能力;支持在 SSLHostConfigCertificate 类上配置的用户提供的 SSLContext 类实例;审计调试日志的使用情况,并将跟踪或数据转储操作从调试级别降级为跟踪级别。有关这些版本的更多详细信息,请参阅 9.0.868.5.99 的发行说明。


Apache Log4j 3.0.0-beta2 和 2.23.0 已发布,包含了重要变更,例如:支持 LMAX Disruptor 4.x;将 RingBufferLogEventHandler 类标记为废弃类,将在 3.x 版本中移除;修复了 JdkMapAdapterStringMap 类中的回归问题,以提高其性能。有关这些版本的更多详细信息,请参阅 3.0.0-beta22.23.0 的发行说明。


JobRunr


JobRunr 6.3.5 已发布,这是一个用于在 Java 中处理后台任务的库,它是分布式的,并由持久性存储提供支持。该版本修复了一个与 IllegalStateException 相关的 bug,该异常是由于 Java SerializedLambda 类返回 implMethodKind 字段的未知值而无法在堆栈中找到“variable 3”而导致的。有关此版本的更多详细信息,请参阅 发行说明


Eclipse Vert.x


Eclipse Vert.x 4.5.4 已发布,包含了一些重要变更,例如:对 HttpServerResponse 接口中定义的 sendFile() 方法进行了改进,在提前返回失败时关闭文件;解决了 ClassLoaderUtils 类中定义的 load() 方法无法解析所有可用类加载器而找不到某些类的问题。有关此版本的更多详细信息,请参阅 发行说明弃用和重大变更列表


Testcontainers for Java


Testcontainers for Java 1.19.6 已发布,其中包含了 bug 修复、依赖项升级和支持 QdrantMilvusChromaDBWeaviate 数据库的新模块。有关此版本的更多详细信息,请参阅 发行说明


Gradle


Gradle 8.7 的第一个候选版本已发布,提供了以下功能:支持使用 Java 22 编译、测试和运行基于 JVM 的项目;Groovy DSL 脚本编译的构建缓存改进;改进了懒加载配置、错误和警告消息、配置缓存 和 Kotlin DSL。有关此版本的更多详细信息,请参阅 发行说明


原文链接

https://www.infoq.com/news/2024/02/java-news-roundup-feb19-2024/

2024-03-25 10:123621

评论

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

注意!关于怎么理解 onStart可见但不可交互,程序员千万不要小瞧了这个问题

android 程序员 移动开发

深入浅出:MVVM+ViewBinding,互联网寒冬公司倒闭后

android 程序员 移动开发

炸裂!万字长文拿下HTTP 我在鹅厂等你!(1),html5移动开发框架

android 程序员 移动开发

王者荣耀MVP-不不不,一个小例子彻底搞懂Android的-MVP到底是什么

android 程序员 移动开发

流媒体协议之WebRTC实现p2p视频通话(二),kotlin数组转集合

android 程序员 移动开发

深入探索 Android 内存优化(炼狱级别-上)(1),2021年最新Android面试点梳理

android 程序员 移动开发

深入理解 RecyclerView 的绘制流程和滑动原理,android应用开发教程答案

android 程序员 移动开发

深入理解Flutter动画原理,安卓framework

android 程序员 移动开发

毕业6年,技术人的不惑之路,移动app开发工具

android 程序员 移动开发

求职注意事项:Android面试中不可犯的这些“九大失误,Android常用面试

android 程序员 移动开发

浅析NestedScrolling嵌套滑动机制之实践篇-仿写饿了么商家详情页

android 程序员 移动开发

深入RecyclerView学习—缓存机制,kotlin带参数的单例模式

android 程序员 移动开发

深入学习-Gradle-自动化构建技术(五)Gradle-插件架构实现原理剖析-

android 程序员 移动开发

滴滴DoKit Android核心原理揭秘之函数耗时,android组件化

android 程序员 移动开发

热修复设计之热修复原理(三),kotlin后端框架

android 程序员 移动开发

没有对象怎么面向对象编程呢?真让人头秃!,sharedpreferences跨进程

android 程序员 移动开发

深入Flutter TextField,android开发流程图

android 程序员 移动开发

独立开发者为什么,不需要运营也能月薪几万,甚至几十万?

android 程序员 移动开发

浅谈ConcurrentHashMap,android游戏开发大全第二版代码

android 程序员 移动开发

深入Android系统 Binder-2-使用,阿里P7亲自讲解

android 程序员 移动开发

深入解析Android的StateListDrawable,【工作感悟】

android 程序员 移动开发

深入浅出,Andorid 端屏幕采集技术实践(1),android面试题整理最新

android 程序员 移动开发

深入浅出,Andorid 端屏幕采集技术实践,附大厂真题面经

android 程序员 移动开发

炸裂!万字长文拿下HTTP 我在鹅厂等你!,入职阿里啦

android 程序员 移动开发

熟悉Android打包编译的流程,超硬核

android 程序员 移动开发

浅谈Android网络通信的前世今生--网络基础,深度剖析原理

android 程序员 移动开发

深入探索 Android 内存优化(炼狱级别-上),安卓消息分发机制

android 程序员 移动开发

深入探索 Android 网络优化(二、网络优化基础篇,移动开发框架

android 程序员 移动开发

深入探索编译插桩技术(三、解密 JVM 字节码,都是精髓

android 程序员 移动开发

温故知新:深入理解Android插件化技术,Android高级插件化强化实战

android 程序员 移动开发

热修复——Tinker的集成与使用,android系统工程师面试题

android 程序员 移动开发

Java近期新闻:JDK 22 RC2、Spring生态系统、Payara Platform_编程语言_Michael Redlich_InfoQ精选文章