47.2. 在 IBM WebSphere Application Server 中配置 JDBC 数据源
数据源是一个对象,它允许 Java 数据库连接(JDBC)客户端(如应用服务器)与数据库建立连接。应用程序在 Java 命名和目录接口(JNDI)树或本地应用程序上下文中查找数据源,并请求数据库连接来检索数据。您必须为 IBM WebSphere Application Server 配置数据源,以确保在服务器和指定数据库之间进行正确的数据交换。
通常,使用 Red Hat Process Automation Manager 的解决方案在单个事务中管理多个资源。用于异步作业、事件和计时器的 JMS,例如:在确保数据原子性和一致性结果时,Red Hat Process Automation Manager 需要数据源中的 XA 驱动程序。如果监听器内存在针对不同架构的事务代码,或者从 jBPM 引擎提供的 hook 派生出来,则还需要一个 XA 驱动程序。
不要使用非 XA 数据源,除非您正面没有参与单一事务的多个资源。
先决条件
- 您要用于创建数据库连接的 JDBC 供应商会在您要部署数据源的所有服务器上配置。有关 JDBC 供应商的更多信息,请参阅 IBM 知识库中的 配置 JDBC 供应商。
流程
进入红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉列表中选择产品和版本:
- 产品: 流程自动化管理器
- Version: 7.13.5
- 下载 Red Hat Process Automation Manager 7.13.5 附加组件。
完成以下步骤以准备数据库:
-
在临时目录中提取
rhpam-7.13.5-add-ons.zip
,如TEMP_DIR
。 -
提取
TEMP_DIR/rhpam-7.13.5-migration-tool.zip
。 -
将您的当前目录更改为
TEMP_DIR/rhpam-7.13.5-migration-tool/ddl-scripts
目录。此目录包含多种数据库类型的 DDL 脚本。 将您的数据库类型的 DDL 脚本导入到您要使用的数据库中,例如:
psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您与 Spring Boot 结合使用 PostgreSQL 或 Oracle,则必须导入对应的 Spring Boot DDL 脚本,如
/ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql
或/ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql
。
-
在临时目录中提取
-
在 WebSphere 集成解决方案控制台中,导航到 Resources
JDBC Data sources。 - 选择应用程序可以使用数据源的范围。您可以选择 cell、node、cluster 或 server。
- 点击 New 打开 Create a data source 向导。
在 Data source name 字段中输入唯一名称,在 JNDI name 字段中输入 Java Naming 和 Directory Interface(JNDI)名称。应用程序服务器使用 JNDI 名称,可以将应用的资源引用绑定到此数据源。
不要在不同的资源类型间分配重复的 JNDI 名称,如数据源和 J2C 连接工厂或 JMS 连接工厂。
不要为同一范围内相同类型的多个资源分配重复的 JNDI 名称。
- 如果创建了提供程序,请单击 Next,然后选择 Select an existing JDBC provider,或者选择 Create new JDBC provider 来为新提供程序定义详情。(建议此点前调整 JDBC 提供程序,作为添加数据源的先决条件。)
- 在 数据源面板的 Enter 数据库特定属性 上,如果容器 管理的持久性(CMP)enterprise Bean 必须访问此数据源,请单击容器管理的持久性(CMP)中使用此数据源。然后,填写任何其他数据库特定属性。
可选:配置数据源的安全别名。您可以为任何身份验证方法选择 None,或者选择以下类型之一:
-
组件管理的验证别名: 指定当组件资源引用 res-auth 值是
Application
时使用的身份验证别名。要定义新的别名,请导航到 相关 ItemsJ2EE 连接器架构(J2C)身份验证数据条目。组件管理的别名代表在应用程序中指定的用于数据源身份验证的 ID 和密码的组合。因此,您在数据源上设置的别名必须与应用程序代码中的别名相同。 -
mapping-configuration 别名: 仅在组件资源引用中没有登录配置时使用。对组件资源引用上的登录配置和关联属性的规格是在将 res-auth 值设置为
Container
时定义身份验证策略的首选方法。如果您指定了DefaultPrincipalMapping
登录配置,相关的属性是一个 JAAS - J2C 身份验证数据条目别名。 -
容器管理的验证别名: 仅在组件资源引用中没有登录配置时才使用。当 res-auth 值设置为
Container
时,组件资源引用上的登录配置和关联属性决定了容器管理的验证策略。
-
组件管理的验证别名: 指定当组件资源引用 res-auth 值是
点 Next,查看数据源的信息,然后点 Finish 保存配置并退出向导。
Data sources 面板在表中显示您的新配置,以及为相同范围配置的任何其他数据源。
有关 IBM WebSphere 应用服务器数据源的更多信息,请参阅 IBM 知识库中的 配置 JDBC 供应商和数据源。