12.2.4. 访问供应商特定类

在某些情况下,应用需要使用不属于 JDBC API 的供应商特定功能。在这些情况下,您可以通过在该应用程序中声明依赖项来访问特定于供应商的 API。

警告

这是高级使用。只有 JDBC API 中没有功能的应用才应实施此过程。

重要

在使用重新身份验证机制和访问特定于供应商的类时,此过程是必需的。

您可以使用 MANIFEST.MF 文件或 jboss-deployment-structure.xml 文件定义应用的依赖项。

如果您还没有这样做,请将 JDBC 驱动程序作为核心模块安装

使用 MANIFEST.MF 文件
  1. 编辑应用的 META-INF/MANIFEST.MF 文件。
  2. 添加 Dependencies 行,并指定模块名称。

    例如,下面这一行将 com.mysql 模块声明为依赖项:

    Dependencies: com.mysql
使用 jboss-deployment-structure.xml 文件
  1. 在应用的 META -INF/ 或 WEB-INF/ 文件夹中创建名为 jboss-deployment- structure.xml 的文件。
  2. 使用 dependencies 元素指定模块。

    例如,以下示例 jboss-deployment-structure.xml 文件将 com.mysql 模块声明为依赖项:

    <jboss-deployment-structure>
      <deployment>
        <dependencies>
          <module name="com.mysql"/>
        </dependencies>
      </deployment>
    </jboss-deployment-structure>

以下示例代码将访问 MySQL API:

import java.sql.Connection;
...
Connection c = ds.getConnection();
if (c.isWrapperFor(com.mysql.jdbc.Connection.class)) {
    com.mysql.jdbc.Connection mc = c.unwrap(com.mysql.jdbc.Connection.class);
}
重要

随着连接由 IronJacamar 容器控制,请严格遵循特定于供应商的 API 准则。