连接器架构定义了一种标准方式来打包和部署资源适配器,允许 Java EE 容器将其连接、事务和安全管理与外部资源的管理集成。本章描述了 JDBC API 与连接器架构的关系。
18.1 系统约定
连接器架构定义了一组系统约定,资源适配器必须支持这些约定才能与 Java EE 应用服务器集成:
- 连接管理约定 — 允许应用程序服务器池化到底层
EIS的连接 - 事务管理约定 — 允许应用程序服务器管理事务
- 安全性约定 — 允许应用程序服务器进行安全性集成
- 生命周期管理约定 — 允许应用程序服务器管理资源适配器的生命周期
18.2 将连接器系统约定映射到 JDBC 接口
JDBC API 接口与连接器系统约定之间存在以下映射:
| 连接器约定 | JDBC 接口 |
|---|---|
ConnectionFactory | DataSource |
Connection | Connection |
ConnectionEventListener | ConnectionEventListener |
ConnectionEvent | ConnectionEvent |
ManagedConnectionFactory | ConnectionPoolDataSource / XADataSource |
ManagedConnection | PooledConnection / XAConnection |
18.2.1 连接管理
JDBC 连接池接口 (ConnectionPoolDataSource, PooledConnection) 对应于连接器连接管理约定。
18.2.2 事务管理
JDBC 事务接口 (XADataSource, XAConnection, XAResource) 对应于连接器事务管理约定。
18.2.3 安全性
JDBC API 使用标准的用户名/密码认证机制。
18.3 以连接器 RAR 文件格式打包 JDBC 驱动程序
JDBC 驱动程序可以打包为资源适配器存档 (RAR) 文件,以便部署到 Java EE 应用服务器。RAR 文件包含:
ra.xml— 部署描述符JDBC驱动程序类 — 驱动程序实现- 任何本地库 — 驱动程序所需的本地代码
18.3.1 部署描述符
ra.xml 部署描述符指定:
- 资源适配器类
- 连接工厂接口和实现
- 连接接口和实现
- 受管连接工厂类
- 配置属性
18.3.2 部署
将 RAR 文件部署到应用服务器后,应用程序可以:
- 使用
JNDI查找DataSource - 获取连接
- 执行
SQL操作
18.4 迁移路径
对于希望迁移到连接器架构的 JDBC 驱动程序供应商,建议采取以下步骤:
- 实现
ManagedConnectionFactory接口(通常通过包装现有的XADataSource或ConnectionPoolDataSource) - 实现
ManagedConnection接口(通常通过包装现有的XAConnection或PooledConnection) - 创建
ra.xml部署描述符 - 将驱动程序打包为
RAR文件
这种迁移允许驱动程序利用 Java EE 应用服务器提供的基础设施服务,同时保持与现有 JDBC 应用程序的兼容性。
