使用连接池
Microsoft JDBC Driver for SQL Server 提供对 Java 平台 Enterprise Edition (Java EE) 连接池的支持。 JDBC Driver 实现了 JDBC 3.0 所需的接口,从而该驱动程序可参与任何中间件供应商提供的与 JDBC 3.0 兼容的连接池实现。 中间件(例如 Java EE 应用程序服务器)通常提供兼容的连接池工具。 JDBC 驱动程序将参与这些环境中的已池化的连接。
注意
尽管 JDBC 驱动程序支持 Java EE 5 连接池,但其自身并不提供池实现。 驱动程序依赖于第三方 Java 应用程序服务器来管理连接。
备注
用于连接池实现的类如下。
类 | 实现 | 说明 |
---|---|---|
com.microsoft.sqlserver.jdbc. SQLServerXADataSource | javax.sql.ConnectionPoolDataSource 和 javax.sql.XADataSource | 建议对所有 Java EE 服务器需求都使用 SQLServerXADataSource 类,因为它实现了所有的 JDBC 3.0 池和 XA 接口。 |
com.microsoft.sqlserver.jdbc. SQLServerConnectionPoolDataSource | javax.sql.ConnectionPoolDataSource | 该类是一个连接工厂,它使得 Java EE 应用程序服务器可使用物理连接来填充它的连接池。 如果 Java EE 供应商的配置需要实现 javax.sql.ConnectionPoolDataSource 的类,则将该类的名称指定为 SQLServerConnectionPoolDataSource。 通常,建议改用 SQLServerXADataSource 类,因为它同时实现了池和 XA 接口,并且已在更多的 Java EE 服务器配置中经过了验证。 |
JDBC 应用程序代码应始终显式地关闭连接,以便从池中获得最大利益。 如果应用程序显式地关闭连接,则池实现可立即重新使用此连接。 如果连接未关闭,则其他应用程序无法重新使用它。 应用程序可使用 finally
构造来确保关闭已池化的连接,即使发生异常。
注意
并非所有第三方 Java 连接池库都实现了上述用于连接池的 JDBC API。 这些库必须实现自己的方法,以便在连接返回到连接池时将其返回到原始状态。