12.2. JDBC Drivers
在 JBoss EAP 中定义数据源以供您的应用使用之前,必须先安装相应的 JDBC 驱动程序。
12.2.1. 将 JDBC 驱动程序作为核心模块安装
若要将 JDBC 驱动程序作为核心模块安装,您必须首先 将 JDBC 驱动程序添加为核心模块,然后在 datasources
子系统中 注册 JDBC 驱动程序。
12.2.1.1. 将 JDBC 驱动程序添加为核心模块
JDBC 驱动程序可以作为核心模块安装,使用管理 CLI 可以执行下列步骤:
下载 JDBC 驱动程序。
从您的数据库供应商下载适当的 JDBC 驱动程序。有关常见数据库的 JDBC 驱动程序的标准下载位置,请参阅 JDBC 驱动程序下载位置。
如果 JDBC 驱动程序 JAR 文件包含在 ZIP 或 TAR 存档中,请确保提取存档。
- 启动 JBoss EAP 服务器。
启动管理 CLI。
$ EAP_HOME/bin/jboss-cli.sh
使用
模块 add
management CLI 命令,添加新的核心模块。module add --name=MODULE_NAME --resources=PATH_TO_JDBC_JAR --dependencies=DEPENDENCIES
例如,以下命令添加 MySQL JDBC 驱动程序模块:
module add --name=com.mysql --resources=/path/to/mysql-connector-java-8.0.12.jar --dependencies=javaee.api,sun.jdk,ibm.jdk,javax.api,javax.transaction.api
重要使用
模块
管理 CLI 命令添加和删除模块,仅作为技术预览提供。此命令不适合在受管域中使用,或在远程连接管理 CLI 时使用。在生产环境中,应当手动添加 和删除模块。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
执行
模块 --help
获取关于使用此命令添加和删除模块的更多详细信息。
接下来,您必须将它注册为 JDBC 驱动程序,供应用数据源引用。
12.2.1.2. 注册 JDBC 驱动程序
驱动程序作为核心模块安装之后,您必须使用以下管理 CLI 命令将它注册为 JDBC 驱动程序:在受管域中运行时,请确保在此命令前加上 /profile=PROFILE_NAME
。
/subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME, driver-class-name=DRIVER_CLASS_NAME)
只有 JDBC 驱动程序 jar 在
参数。
/META-INF/services/java.sql.Driver 文件中定义了多个类,才需要 driver-
class-name
例如,MySQL 5.1.36 JDBC 驱动程序 JAR 中的 /META-INF/services/java.sql.Driver
文件定义了两个类:
- com.mysql.cj.jdbc.Driver
- com.mysql.fabric.jdbc.FabricMySQLDriver
在本例中,您将传递 driver-class-name=com.mysql.cj.jdbc.Driver
。
例如,以下命令注册了 MySQL JDBC 驱动程序:
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.cj.jdbc.MysqlXADataSource, driver-class-name=com.mysql.cj.jdbc.Driver)
JDBC 驱动程序现在可供应用数据源引用。