13.3. 创建数据源
datasources 可使用管理控制台或管理 CLI 创建。
JBoss EAP 7 允许您在数据源属性值中使用表达式,如 enabled
属性。有关在配置中使用表达式的详情,请参阅 Property Replacement 部分。
13.3.1. 创建非 XA 数据源
非 XA 数据源可以使用 数据源添加
管理 CLI 命令来定义。您还可以使用管理控制台定义非 XA 数据源,方法是导航到 Configuration
以下步骤描述了如何使用管理 CLI 定义非 XA 数据源。
- 如果您还没有这样做,请安装并注册适当的 JDBC 驱动程序作为核心模块。
使用
data-source add
命令定义数据源,指定适当的参数值。data-source add --name=DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --connection-url=CONNECTION_URL
注意在受管域中,您必须指定 --profile=PROFILE_NAME 参数。
有关这些参数值的提示,请参见以下的 Datasource Parameters 部分。
有关详细 示例,请参阅支持的数据库 示例数据源配置。
数据源参数
- jndi-name
-
数据源的 JNDI 名称必须以
java:/
或java:jboss/
开头。例如,java:jboss/datasources/ExampleDS
。 - driver-name
驱动程序名称值取决于 JDBC 驱动程序是否作为核心模块还是 JAR 部署安装。
- 对于核心模块,驱动程序名称值将在注册时提供给 JDBC 驱动程序的名称。
对于 JAR 部署,如果其
/META-INF/services/java.sql.Driver
文件中只列出了一个类,则驱动程序名称为 JAR 的名称。如果列出了多个类,则值为 JAR_NAME + "_" + DRIVER_CLASS_NAME + "_" + MAJOR_VERSION + "_" + MINOR_VERSION (例如mysql-connector-java-5.1.36-bin.jar_com.mysql.jdbc.Driver_5_1
)。在部署 JDBC JAR 时,您还可以查看 JBoss EAP 服务器日志中列出的驱动程序名称。
WFLYJCA0018: Started Driver service with driver-name = mysql-connector-java-5.1.36-bin.jar_com.mysql.jdbc.Driver_5_1
- connection-url
- 有关支持的数据库的连接 URL 格式的详情,请查看 Datasource Connection URL 列表。
有关所有可用数据源参数的完整列表,请参阅 Datasource Parameters 部分。
13.3.2. 创建一个 XA 数据源
XA datasources 可使用 xa-data-source add
管理 CLI 命令来定义。您还可以使用管理控制台定义 XA datasources,方法是导航到 Configuration
以下步骤描述了如何使用管理 CLI 定义 XA 数据源。
在受管域中,您将需要指定要使用的配置文件。根据管理 CLI 命令的格式,您将在命令前面带有 /profile=PROFILE_NAME
或传递 --profile=PROFILE_NAME
参数。
- 如果您还没有这样做,请安装并注册适当的 JDBC 驱动程序作为核心模块。
使用
xa-data-source add
命令定义数据源,指定适当的参数值。xa-data-source add --name=XA_DATASOURCE_NAME --jndi-name=JNDI_NAME --driver-name=DRIVER_NAME --xa-datasource-class=XA_DATASOURCE_CLASS --xa-datasource-properties={"ServerName"=>"HOSTNAME","DatabaseName"=>"DATABASE_NAME"}
有关这些参数值的提示,请参见以下的 Datasource Parameters 部分。
设置 XA 数据源属性。
在定义 XA 数据源时,至少需要一个 XA 数据源属性,或者在上一步中添加数据源时收到错误。在定义 XA 数据源时未设置的任何属性可以在之后单独设置。
设置服务器名称。
/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=ServerName:add(value=HOSTNAME)
设置数据库名称。
/subsystem=datasources/xa-data-source=XA_DATASOURCE_NAME/xa-datasource-properties=DatabaseName:add(value=DATABASE_NAME)
有关详细 示例,请参阅支持的数据库 示例数据源配置。
数据源参数
- jndi-name
-
数据源的 JNDI 名称必须以
java:/
或java:jboss/
开头。例如,java:jboss/datasources/ExampleDS
。 - driver-name
驱动程序名称值取决于 JDBC 驱动程序是否作为核心模块还是 JAR 部署安装。
- 对于核心模块,驱动程序名称值将在注册时提供给 JDBC 驱动程序的名称。
对于 JAR 部署,如果其
/META-INF/services/java.sql.Driver
文件中只列出了一个类,则驱动程序名称为 JAR 的名称。如果列出了多个类,则值为 JAR_NAME + "_" + DRIVER_CLASS_NAME + "_" + MAJOR_VERSION + "_" + MINOR_VERSION (例如mysql-connector-java-5.1.36-bin.jar_com.mysql.jdbc.Driver_5_1
)。在部署 JDBC JAR 时,您还可以查看 JBoss EAP 服务器日志中列出的驱动程序名称。
WFLYJCA0018: Started Driver service with driver-name = mysql-connector-java-5.1.36-bin.jar_com.mysql.jdbc.Driver_5_1
- xa-datasource-class
-
指定 JDBC 驱动程序实现的 XA 数据源类,即
javax.sql.XADataSource
类。 - xa-datasource-properties
- 在定义 XA 数据源时,至少需要一个 XA 数据源属性,或者在尝试添加它时收到错误。还可在定义后将其他属性添加到 XA 数据源。
有关所有可用数据源参数的完整列表,请参阅 Datasource Parameters 部分。