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