编辑 JDBC 连接池高级属性

  1. 在导航树中,展开“资源”节点。

  2. 在“资源”节点下,选择“JDBC”节点。

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

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

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

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

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

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

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

    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. 选中“语句泄漏回收”复选框可在完成泄漏语句跟踪后将泄漏的语句还原到池中。

    默认情况下禁用此选项。

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

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

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

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

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

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

  20. 选中“启用延迟连接登记”复选框,仅当在方法中实际使用资源时才将资源添加至事务处理。

    默认情况下禁用此选项。

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

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

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

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

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

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

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

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

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

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

    auto-commitmetadata

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


    注:

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

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

    table

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

  26. 如果在“验证方法”下拉列表中选择了 table,请键入数据库表的名称或从“表名称”下拉列表中选择该名称。

  27. 如果在“验证方法”下拉列表中选择了 custom-validation,请键入定制验证实现类名或从“验证类名”下拉列表中选择该名称。

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

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

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

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

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

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

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

  31. 单击“保存”。


    提示:

    要返回到默认设置,请单击“加载默认值”按钮,然后单击“保存”。

另请参阅
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices