Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

关于 JDBC 连接池

Procedure创建 JDBC 连接池

连接池是用于特定数据库的一组可重复使用的连接。使用管理控制台创建池时,管理员实际上是在定义到特定数据库的连接的各个方面。

开始之前

创建池之前,您必须首先安装并集成 JDBC 驱动程序。请参见集成 JDBC 驱动程序

设置“创建连接池”页面时,必须输入特定于 JDBC 驱动程序和数据库供应商的特定数据。继续创建之前,请先收集以下信息:

  1. 在管理控制台的树视图(左窗格)中,展开“资源”节点。

  2. 在“资源”节点下,展开 "JDBC" 节点。

  3. 在 "JDBC" 节点下,选择“连接池”节点。

  4. 在“连接池”页面中,单击“新建”。

  5. 在“创建连接池”的第一个页面中,指定以下常规设置:

    1. 在“名称”字段中,输入池的逻辑名称。

      创建 JDBC 资源时将指定此名称。

    2. 从“资源类型”组合框中选择一个条目。

    3. 从“数据库供应商”组合框中选择一个条目。

  6. 单击“下一步”。

  7. 在“创建连接池”的第二个页面中,为“DataSource 类名”字段指定值。

    如果 JDBC 驱动程序具有与在上一页中指定的资源类型和数据库供应商相应的 DataSource 类,则系统会提供“DataSource 类名”字段的值。

  8. 单击“下一步”。

  9. 在“创建连接池”的第三个也即最后一个页面中,执行以下任务:

    1. 在“常规设置”部分中,检验各个值是否正确。

    2. 对于“池设置”、“连接验证”和“事务隔离”部分中的字段,保留默认值。

      以后更改这些设置非常方便。请参见编辑 JDBC 连接池

    3. 在“其他属性”表中,添加必需的属性,如数据库名称 (URL)、用户名和密码。

  10. 单击“完成”。

等效的 asadmin 命令

create-jdbc-connection-pool

Procedure编辑 JDBC 连接池

“编辑 JDBC 连接池”页面使您可以更改现有池的所有设置(池的名称除外)。

  1. 在树组件中,展开“资源”节点。

  2. 在“资源”节点下,展开 "JDBC" 节点。

  3. 在 "JDBC" 节点下,展开“连接池”节点。

  4. 选择要编辑的池的节点。

  5. 在“编辑 JDBC 连接池”页面中进行必要的更改。

    1. 更改常规设置。

      常规设置的值取决于安装的特定 JDBC 驱动程序。这些设置是 Java 编程语言中的类名或接口名称。

      参数 

      说明 

      DataSource 类名 

      实现 DataSource 和/或 XADataSource API 的特定于供应商的类名。该类位于 JDBC 驱动程序中。

      资源类型 

      选项包括 javax.sql.DataSource(仅本地事务) 、javax.sql.XADataSource(全局事务)和 java.sql.ConnectionPoolDataSource(本地事务,性能可能会提高)。

    2. 更改池设置。

      一组物理数据库连接保存在池中。应用程序请求连接时,将从池中删除该连接;而应用程序释放该连接之后,连接将返回到池中。

      参数 

      说明 

      初始和最小池大小 

      池中连接的最小数目。该值还确定了首次创建池或应用程序服务器启动时被置于池中的连接的数目。 

      最大池大小 

      池中连接的最大数目。 

      池大小调整数量 

      当池向最小池大小方向收缩时,将成批调整大小。此值确定批处理中的连接数目。如果将该值设置得过大,会延迟连接回收;如果将该值设置得过小,则会降低效率。 

      空闲超时 

      连接在池中保持空闲的最长时间(以秒为单位)。一旦超过此时间,即从池中删除该连接。 

      最长等待时间 

      在达到连接超时之前,请求连接的应用程序所等待的时间。由于默认等待时间过长,应用程序可能会出现无限期挂起的情况。 

    3. 更改连接验证设置。

      (可选)应用程序服务器可以在将连接传送给应用程序之前验证连接。如果由于网络出现故障或数据库服务器崩溃造成数据库不可用,此验证将允许应用程序服务器自动重新建立数据库连接。连接验证会带来额外开销,并会导致性能稍有下降。

      参数 

      说明 

      连接验证 

      选中“需要”复选框以启用连接验证。 

      验证方法 

      应用程序服务器可以使用三种方法来验证数据库连接:自动提交、元数据和表。 

      自动提交和元数据—应用程序服务器通过调用 con.getAutoCommit()con.getMetaData() 方法来验证连接。但是,由于许多 JDBC 驱动程序高速缓存了这些调用的结果,因此这两种方法无法始终提供可靠的验证。请与驱动程序供应商进行核实,以确定这些调用是否被高速缓存。

      表-应用程序将查询指定的数据库表。表必须存在并且可以访问,但不要求表的行数。请不要使用包含许多行的现有表或经常访问的表。 

      表的名称 

      如果从“验证方法”组合框中选择了表,请在此指定数据库表的名称。 

      一旦失败 

      如果选中标有“关闭所有连接”的复选框,则单个连接失败时,应用程序服务器将关闭池中的所有连接,然后重新建立这些连接。如果未选中此复选框,则仅当要使用各个连接时才会重新建立连接。 

    4. 更改事务隔离设置。

      由于许多用户通常可以并行访问一个数据库,因此可能出现一个事务在更新数据而另一个事务尝试读取同一数据的情况。事务的隔离级别定义了正在更新的数据对于其他事务的可见程度。有关隔离级别的详细资料,请参见数据库供应商的文档。

      参数 

      说明 

      事务隔离 

      使您可以为该池的连接选择事务隔离级别。如果不指定此参数,连接将使用 JDBC 驱动程序提供的默认隔离级别进行操作。 

      保证隔离级别 

      该项仅在指定了隔离级别的情况下才适用。如果选中“保证”复选框,则从池中获取的所有连接都具有相同的隔离级别。例如,如果上次使用连接时通过编程方式(使用 con.setTransactionIsolation)更改了连接的隔离级别,此机制会将状态更改回指定的隔离级别。

    5. 更改属性。

      在“其他属性”表中,可以指定数据库名称 (URL)、用户名和密码等属性。由于随数据库供应商的不同,属性也会有所不同,因此请参考供应商的文档以了解有关详细信息。

  6. 单击“保存”。

另请参见

Procedure检验连接池设置

  1. 启动数据库服务器。

  2. 单击 "Ping"。

    管理控制台将尝试连接到数据库。如果显示错误消息,请检查数据库服务器是否已重新启动。

Procedure删除 JDBC 连接池

  1. 在树组件中,展开“资源”节点。

  2. 在“资源”节点下,展开 "JDBC" 节点。

  3. 在 "JDBC" 节点下,选择“连接池”节点。

  4. 在“连接池”页面中,选中要删除的池的复选框。

  5. 单击“删除”。

等效的 asadmin 命令

delete-jdbc-connection-pool