创建 JDBC 连接池

使用管理控制台创建连接池时,您是在定义到特定数据库的连接的各个方面。

开始之前

要创建连接池,必须先安装和集成一个支持 JDBC API 的驱动程序(JDBC 驱动程序)。请参见集成 JDBC 驱动程序

以下信息是创建 JDBC 连接池所必需的。请先收集这些信息,然后再继续:

  1. 在导航树中,选择“日常任务”节点。
  2. 从“日常任务”页面中,单击“创建新 JDBC 连接池”按钮。

    此时将打开“新建 JDBC 连接池(步骤 1,共 2 步)”页面。


    注 – 您还可以通过展开“资源”节点和 "JDBC" 节点然后选择“连接池”节点来访问“JDBC 连接池”页面。然后从“新建连接池”页面中,选择“新建”来创建新的连接池。


  3. 在“名称”字段中,键入新连接池的名称。

    这是必需字段。

  4. 从“资源类型”下拉式列表中,选择一种资源类型。

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

  5. 从“数据库供应商”下拉式列表中,选择数据库供应商。
  6. 单击“下一步”。

    此时将打开“新建 JDBC 连接池(步骤 2,共 2 步)”页面。

  7. 在“数据源类名”字段中,键入实现 DataSource 和/或 XADataSource API 的特定于供应商的类的名称。
  8. 在“说明”字段中,键入连接池的简短说明。
  9. 在“初始和最小池大小”字段中,键入此池的最小连接数。

    该值还确定了首次创建池或应用服务器启动时,置于池中的连接的数目。默认值为 8。

  10. 在“最大池大小”字段中,键入此池的最大连接数。

    默认值为 32。

  11. 在“池大小调整数量”字段中,键入每个池大小调整批处理中的连接数。

    当池根据最大和最小池大小进行相应扩大或缩小时,将以批处理方式调整其大小。此值确定批处理中的连接数目。如果将该值设置得过大,会延迟连接创建和回收;如果将该值设置得过小,则会降低效率。默认值为 2。

  12. 在“空闲超时”字段中,键入连接可在池中保持空闲状态的最长时间(以秒为单位)。

    一旦超过此时间,即从池中删除该连接。默认值为 30。

  13. 在“最长等待时间”字段中,键入请求连接的应用程序在连接超时之前等待的最长时间(以毫秒为单位)。

    默认值为 60,000。

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

    连接验证允许服务器在出现故障时重新连接。

  15. 从“验证方法”下拉式列表中,选择一种验证方法。

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

    自动提交和元数据

    应用服务器通过调用 con.getAutoCommitcon.getMetaData 方法来验证连接。


    注 – 许多 JDBC 驱动程序都会高速缓存这些调用的结果。因此,使用这些调用可能无法始终提供可靠的验证。请与驱动程序供应商进行核实,以确定这些调用是否被高速缓存。


    应用程序查询指定的数据库表。表必须存在并且可以访问,但其中不必含有任何行。请勿使用包含许多行的现有表或已被经常访问的表。

  16. 如果在“验证方法”下拉式列表中选择了“表”,则在“表名称”字段中键入数据库表的名称。

    表名称只能包含字母数字、下划线、破折号或点字符。

  17. 选中“一旦失败则关闭所有连接”复选框,以使服务器在任何连接失败时均关闭池中的所有连接并重新建立这些连接。

    如果取消选中此复选框,则仅当要使用各个连接时才重新建立连接。

  18. 选中“已启用允许非组件调用方”复选框,以允许非组件调用方使用池。

    非组件调用方的示例包括 Servlet 过滤器和生存期模块。

  19. 选中“启用非事务连接”复选框,以返回非事务连接。
  20. 从“事务隔离级别”下拉式列表中,选择此连接池的事务隔离级别。

    如果不指定此参数,连接将使用 JDBC 驱动程序提供的默认隔离级别进行操作。

  21. 仅当已在步骤 20 中指定事务隔离级别时,“保证的隔离级别”复选框才适用。

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

  22. (可选的)在“其他属性”部分中,指定其他属性。

    必需属性的示例包括数据库名称 (URL)、用户名和密码。由于随数据库供应商的不同,属性也会有所不同,因此请参见供应商的文档以了解详细信息。

  23. 单击“完成”。
另请参见