56.2. 在 Oracle WebLogic 服务器中配置 JDBC 数据源
数据源是一种对象,它允许 Java 数据库连接(JDBC)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 Oracle WebLogic 服务器配置数据源,以确保服务器与指定数据库之间的相应数据交换。
通常,使用红帽流程自动化管理器的解决方案在单个事务中管理多个资源。JMS 用于异步作业、事件和计时器,例如:Red Hat Process Automation Manager 尽可能在数据源中有一个 XA 驱动程序,以确保数据原子性和结果一致。如果不同架构的事务代码存在于监听器内,或源自 jBPM 引擎提供的 hook,则还需要 XA 驱动程序。
除非您没有参与单个事务的多个资源,否则不要使用非 XA 数据源。
先决条件
- 您要用来创建数据库连接的 JDBC 驱动程序安装在您要在其上部署数据源的所有服务器上。某些 JDBC 驱动程序安装有 Oracle WebLogic Server,如用于 DB2、Informix、MS SQL Server 和 pkexec 的 WebLogic 品牌数据直接 JDBC 驱动程序。有关 JDBC 驱动程序的更多信息,请参阅在 Oracle 帮助中心 中使用 JDBC 驱动程序和 WebLogic 服务器。
流程
导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:
- 产品: 流程自动化管理器
- Version: 7.12
- 下载 Red Hat Process Automation Manager 7.12.0 附加组件。
完成以下步骤以准备数据库:
-
将
rhpam-7.12.0-add-ons.zip提取到临时目录中,如TEMP_DIR。 -
提取
TEMP_DIR/rhpam-7.12.0-migration-tool.zip。 -
将您的当前目录更改为
TEMP_DIR/rhpam-7.12.0-migration-tool/ddl-scripts目录。此目录包含多种数据库类型的 DDL 脚本。 将数据库类型的 DDL 脚本导入到您要使用的数据库中,例如:
psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql注意如果您将 PostgreSQL 或 Oracle 与 Spring Boot 结合使用,您必须导入相应的 Spring Boot DDL 脚本,如
/ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql或/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql。
-
将
-
在 WebLogic 管理控制台中,导航到 Change Center
Lock & Edit。 -
在 Domain Structure 下,点 Services
Data Sources。 -
在 Summary of Data Sources 页面中,点击 New
Generic Data Source。 在 JDBC Data Sources Properties 页面中,输入或选择以下信息:
-
Name: 输入此 JDBC 数据源的名称。在配置文件(
config.xml)和管理控制台中每当引用此数据源时使用此名称。 - JNDI Name: 输入此 JDBC 数据源将被绑定的 JNDI 路径。应用在保留连接时通过此名称在 JNDI 树中查找数据源。
- Database Type: 选择您要连接到的数据库的 DBMS。如果没有列出您的 DBMS,请选择 其他选项。
-
Name: 输入此 JDBC 数据源的名称。在配置文件(
- 单击 Next 以继续。
- 选择您要用于 连接数据库的数据库驱动程序。列表包括所选 DBMS 的通用 JDBC 驱动程序,以及之前安装的任何其他 JDBC 驱动程序。
在 Transaction Options 页面上,保留选择 Supports Global Transactions 选项,然后从可用的事务选项中选择。您还可以清除此复选框,以禁用此数据源中的全局事务(忽略)全局事务。在大多数情况下,应保留选择以优化数据效率的选项。
- 2-Phase Commit:选择这个选项来启用标准 XA 处理。这个选项只有在您选择 XA JDBC 驱动程序来创建数据库连接时才可用。
- logging Last Resource: 选择这个选项来启用非 XA JDBC 连接,以使用日志记录 Last Resource (LLR)事务优化来参与全局事务。建议将此选项代替 Emulate Two-Phase Commit。只有在您选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
- 模拟两个Phase Commit: 选择这个选项来启用非 XA JDBC 连接,以使用 JTA 模拟参与分布式事务。只有在您的应用程序可以容忍 heuristic 条件时,才选择这个选项。只有在您选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
- One-Phase Commit: 选择这个选项来启用非 XA 连接,以参与作为唯一的事务参与者的全局事务。只有在您选择非 XA JDBC 驱动程序进行数据库连接时,此选项才可用。
- 单击 Next 以继续。
在 Connection Properties 页面中,输入以下属性的值:
- Service Name: 指定要连接的数据库的服务名称。如果提供了多个数据源,则每个数据源必须相同。只有在为 Oracle Real Application Clusters (RAC)选择了其中一个可用 service-instance 连接驱动程序时,此字段才可用。
- 数据库名称 : 输入您要连接到的数据库的名称。确切的数据库名称要求因 JDBC 驱动程序和 DBMS 而异。
- Host Name : 输入托管数据库的服务器的 DNS 名称或 IP 地址。如果您要创建 Oracle GridLink service-instance 连接,如果提供了多个数据源,则每个数据源必须相同。
- 端口: 输入数据库服务器侦听连接请求的端口。
- 数据库用户名: 输入您要用于数据源中的每个连接的数据库用户帐户名称。
- password /Confirm Password: 输入数据库用户帐户的密码。
- Oracle.jdbc.DRCPConnectionClass: 可选,如果您的环境需要,请输入 Database Resident Connection Pooling (DCRP)连接类。
- 单击 Next 以继续。
在 Test Database Connection 页面上,检查连接参数,再单击 Test Configuration。
Oracle WebLogic Server 尝试从管理服务器创建与数据库的连接。连接测试的结果会显示在页面的顶部。如果测试失败,请更正任何配置错误并重试测试。
- 如果您在管理服务器上未安装 JDBC 驱动程序,请单击 Next 以继续或跳过这一步。
- 在 Select Targets 页面中,选择要在其上部署数据源的服务器或集群,然后点击 Finish。
-
返回到 WebLogic 管理控制台的主菜单,并选择 Change Center
Activate Changes。
有关 Oracle WebLogic 服务器数据源的更多信息,请参阅 Oracle 帮助中心中的 适用于 Oracle WebLogic 服务器的 JDBC 数据源。