编辑 JDBC 连接池高级属性

  1. 在导航树中,展开“资源”节点。
  2. 在“资源”节点下,选择 "JDBC" 节点。
  3. 在 "JDBC" 节点下,选择“连接池”节点。

    此时将打开“连接池”页面。

  4. 在“连接池”页面上,单击要编辑的池的名称。

    此时将打开“编辑连接池”页面。

  5. 在“编辑连接池”页面上,单击“高级”选项卡。

    此时将打开“编辑连接池高级属性”页面。

  6. 在“语句超时”字段中,键入以秒为单位的一段时间,经过这段时间后,将终止运行时间异常长的查询。

    GlassFish Server 将对创建的语句设置 "QueryTimeout"。将该值设置为 -1 可以禁用此选项。默认值为 -1。

  7. 在“语句高速缓存大小”字段中,键入要使用 LRU(最近最少使用)高速缓存机制来高速缓存的语句数。

    要禁用语句高速缓存,请指定值 0。默认值为 0。

  8. 在“初始化 SQL”字段中,键入每次在池中创建(不是重复使用)连接时要执行的 SQL 字符串。

    执行此字符串可以初始化连接的状态。

  9. 在“SQL 跟踪侦听器”字段中,键入指定将跟踪应用程序所执行 SQL 语句的逗号分隔的侦听器实现类名列表。

    侦听器类必须实现 org.glassfish.api.jdbc.SQLTraceListener 接口。使用侦听器可以轻松地过滤 SQL 语句的日志消息,并帮助管理员分析语句。

  10. 选中“启用包装 JDBC 对象”复选框可以使应用程序获取 StatementPreparedStatementCallableStatementResultSetDatabaseMetaData 的包装 JDBC 对象。

    默认情况下启用此选项。

  11. 选中“入池”复选框可以启用池的连接入池。

    默认情况下启用此选项。

  12. 在“最多验证一次”字段中,键入以秒为单位的一段时间,经过这段时间后,最多验证连接一次。

    将该属性设置为适当的值可以最大程度减少连接的验证请求数。默认值为 0,表示未启用该属性。

  13. 在“泄漏超时”字段中,键入以秒为单位的一段时间,在这段时间内跟踪连接池中的连接泄漏。

    使用此字段可以检测应用程序的潜在连接泄漏。如果应用程序未在指定时间段内将连接返回到池,则假定该连接可能发生了泄漏,并将记录调用方的堆栈跟踪。将此值设置为 0 会禁用连接泄漏跟踪。默认值为 0。

    使用此字段和“泄漏回收”可以避免应用程序的潜在连接泄漏。

  14. 选中“泄漏回收”复选框,可在完成泄漏连接跟踪后将泄漏的连接恢复到池中。

    默认情况下禁用此选项。

  15. 在“创建重试尝试”字段中,键入创建新的连接失败后进行尝试的次数。

    将此值设置为 0 即不再尝试创建连接。默认值为 0。

  16. 在“重试时间间隔”字段中,键入两次尝试创建连接之间的时间间隔(以秒为单位)。

    默认值为 10。仅当“创建重试尝试次数”的值大于 0 时才使用此属性。

  17. 选中“启用延迟关联”复选框,仅在使用连接时才将物理连接与逻辑连接关联。

    当完成事务并且结束组件方法时,对连接取消关联,这有助于重新使用物理连接。如果禁用此选项,则在使用连接之前,物理连接就与逻辑连接关联。默认情况下禁用此选项。

  18. 选中“启用延迟连接登记”复选框,可以仅在方法中实际使用某个资源时才将该资源登记到事务中。

    默认情况下禁用此选项。

  19. 选中“启用与线程关联”复选框可以在连接和线程之间创建关联。

    如果其他连接需要同一个线程,则此选项将重新使用已与该线程相关联的连接,因此不会导致从池中获取其他连接的开销。默认情况下禁用此选项。

  20. 选中“启用匹配连接”复选框可以为池启用连接匹配。

    如果启用此选项,则从池中选择的连接应与具有特定凭证的连接相匹配。如果连接池由具有多个用户凭证的应用程序使用,则必须启用此选项。如果管理员知道池中的连接始终同构,因此从池中选择的连接不需要由资源适配器进行匹配,则可禁用该选项。默认情况下禁用此选项。

  21. 在“最大连接使用”字段中,键入池可以重新使用连接的次数。

    连接在重复使用指定的次数后将被关闭。通过限制可以重复使用连接的次数,可在应用程序没有关闭语句的情况下避免语句泄漏。将值设置为 0 可以禁用此属性。默认值为 0。

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

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

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

    GlassFish Server 可以通过以下方式验证数据库连接。

    auto-commitmetadata

    GlassFish Server 通过调用 con.getAutoCommitcon.getMetaData 方法来验证连接。


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


    custom-validation

    GlassFish Server 使用由“验证类名”字段中的自定义实现类指定的用户定义验证机制。

    table

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

  24. 如果在“验证方法”下拉式列表中选择了 table,请在“表名称”下拉式列表中选择数据库表的名称。
  25. 如果在“验证方法”下拉式列表中选择了 custom-validation,请键入自定义验证实现类名。

    提供的类名必须是 GlassFish Server 可以访问的。指定的类必须实现 org.glassfish.api.jdbc.ConnectionValidation 接口。

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

    如果禁用此选项,则仅在使用各个连接时才重新建立这些连接。默认情况下禁用此选项。

  27. 选中“启用允许非组件调用方”复选框,以便池可由非组件调用方(如 Servlet 过滤器和第三方持久性管理器)使用。

    在事务结束时,容器不会自动关闭非组件调用方获取的连接。这些连接必须由调用方显式关闭。默认情况下禁用此选项。

  28. (可选的)单击“常规”选项卡上的“刷新”按钮,刷新该池的所有连接。

    单击“刷新”按钮可以销毁任何现有连接,重新创建为池建立的连接,并将池恢复到其初始和最小池大小。

  29. 单击“保存”。

    提示 - 要返回到默认设置,请单击“装入默认值”按钮,然后单击“保存”。


另请参见

版权所有 © 2005, 2011, Oracle 和/或其附属公司。 保留所有权利。 法律声明