Open Liberty 19.0.0.4 发布,支持 Reactive Streams Operators 1.0 和 JDK 12

Open Liberty 19.0.0.4 发布概述

IBM 最新发布的 Open Liberty 19.0.0.4 版本引入了对 MicroProfile Reactive Streams Operators 1.0 API、JDK 12 和 Oracle Universal Connection Pool (UCP) 的支持。Open Liberty 是 IBM WebSphere Liberty 应用服务器的开源实现,专为构建云原生应用和微服务而设计,支持完整的 MicroProfile 框架和 Java EE API。

MicroProfile Reactive Streams Operators 1.0 支持

Reactive Streams 提供了异步流处理机制,支持非阻塞背压,确保流控制和错误处理。通过该机制,发布者可以生成无限的数据流,而不会压垮消费者。MicroProfile Reactive Streams Operators 提供了一系列构建器,用于创建 Reactive Streams 的 Publisher、Subscriber 和 Processor 实例,并提供了过滤、映射等操作符来操作和转换数据流。

要在 Open Liberty 19.0.0.4 中启用该功能,需在 server.xml 文件中添加以下配置:

<featureManager>
    <feature>mpReactiveStreams-1.0</feature>
</featureManager>

启用后,开发者可以使用 Reactive Streams Operators API 来生产和消费数据流。

JDK 12 支持

Open Liberty 19.0.0.4 支持 JDK 12,该版本引入了 Shenandoah 垃圾回收器和新的 switch 表达式语法。JDK 12 还对现有的 G1 垃圾回收器进行了改进,包括 JEP 344 和 JEP 346 提案。需要注意的是,JDK 12 作为功能版本,其标准支持将于 2019 年 9 月结束。

Oracle Universal Connection Pool (UCP) 支持

Oracle UCP 提供了 JDBC 连接池,用于缓存数据库连接对象。Open Liberty 19.0.0.4 支持 UCP,用户可以通过配置 server.xml 文件来启用该功能:

<featureManager>
    <feature>jdbc-4.2</feature>
    <feature>jndi-1.0</feature> <!-- 仅在需要 JNDI 查找资源时启用 -->
</featureManager>

<dataSource id="oracleUCPDS" jndiName="jdbc/oracleUCPDS" >
    <jdbcDriver libraryRef="OracleUCPLib" />
    <properties.oracle.ucp URL="jdbc:oracle:thin:@//{host}:{port}/{db}" />
</dataSource>

<library id="OracleUCPLib">
    <fileset dir="{path_to_driver}" includes="ojdbcx.jar ucp.jar"/>
</library>

使用 UCP 连接池将禁用 Open Liberty 内置的连接池功能,因此部分数据源和连接管理器的配置值将被忽略。

其他信息

今年早些时候,InfoQ 报道了 Open Liberty 的新发布周期(每四周一次),并采访了 IBM WebSphere 的 MicroProfile 和 Jakarta EE 架构师 Kevin Sutter。

阅读 14
0 条评论