编辑连接池高级属性

使用“编辑连接池高级属性”页可以指定一些属性,以帮助诊断连接泄漏和提高易用性。

“编辑连接池高级属性”页包含以下选项。

加载默认值

用于将具有默认值的设置还原为其默认值的按钮。没有默认值的设置不发生更改。

池名称

连接池的名称。名称是只读字段。您只有在创建新的 JDBC 连接池时才能指定连接池名称。

Statement 超时

以秒为单位的一段时间,经过这段时间后,将终止运行时间异常长的查询。GlassFish Server 将对创建的语句设置 QueryTimeout。值为 -1 表示已禁用此选项。默认值为 -1。

语句高速缓存大小

要使用 LRU (最近最少使用) 高速缓存机制来高速缓存的语句数。如果值为 0,则将禁用语句高速缓存。默认值为 0。

初始 SQL

每次在池中创建 (不是重复使用) 连接时要执行的 SQL 字符串。执行此字符串可以初始化连接的状态。

SQL 跟踪监听程序

逗号分隔的监听程序实现类名列表,该列表指定将跟踪应用程序执行的 SQL 语句。监听程序类必须实现 org.glassfish.api.jdbc.SQLTraceListener 接口。使用监听程序可以轻松地过滤 SQL 语句的日志消息,并帮助管理员分析语句。

包装 JDBC 对象

如果启用此选项,则应用程序将获取 Statement、PreparedStatement、CallableStatement、ResultSet、DatabaseMetaData 的包装 JDBC 对象。默认情况下启用此选项。

共享

启用池的连接共享。默认情况下启用此选项。

最多验证一次

指定连续请求验证连接 (最多一次) 之间的时间间隔 (秒)。将该属性设置为适当的值可以最大程度减少连接的验证请求数。默认值为 0,表示未启用该属性。

连接泄漏超时

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

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

连接泄漏回收

如果启用此选项,则泄漏的连接将在泄漏连接跟踪完成后还原到池中。默认情况下禁用此选项。

语句泄漏超时

用于在连接池中跟踪语句泄漏的时间长度 (秒)。使用此字段可以检测应用程序的潜在语句泄漏。如果应用程序未在指定时间段内将语句返回到池,则假定该语句可能发生了泄漏,并将记录调用方的堆栈跟踪。如果值为 0,则表示已禁用语句泄漏跟踪。默认值为 0。

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

语句泄漏回收

如果启用此选项,则泄漏的语句将在泄漏语句跟踪完成后还原到池中。默认情况下禁用此选项。

创建重试尝试次数

当创建新的连接失败后,进行尝试的次数。如果值为 0,则表示不会尝试再次创建连接。默认值为 0。

重试时间间隔

两次尝试创建连接之间的时间间隔 (秒)。默认值为 10。仅当“创建重试尝试次数”的值大于 0 时才使用此属性。

延迟关联

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

延迟连接登记

如果启用此选项,则仅当在方法中实际使用某个资源时,才将该资源登记到事务处理。默认情况下禁用此选项。

与线程关联

如果启用此选项,则将连接与线程关联,从而当同一线程需要使用连接时,能够重复使用已与该线程关联的连接,因此不会导致产生从池中获取连接的系统开销。默认情况下禁用此选项。

匹配连接

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

最大连接使用次数

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

连接验证

如果启用此选项,将要求进行连接验证,允许服务器在出现故障时重新连接。

验证方法

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

auto-commitmetadata

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


注:

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

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

table

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

表名称

用于验证的数据库表的名称。仅当“验证方法”设置为 table 时,此字段才适用。可以从下拉列表中选择名称,或者键入名称。

验证类名

定制验证实现类名。仅当“验证方法”设置为 custom-validation 时,此字段才适用。提供的类名必须可供 GlassFish Server 访问。指定类必须实现 org.glassfish.api.jdbc.ConnectionValidation 接口。可以从下拉列表中选择名称,或者键入名称。

一旦失败

如果启用此选项,则 GlassFish Server 将在任何连接失败时关闭池中的所有连接并重新建立这些连接。如果禁用此选项,则仅在使用各个连接时才重新建立这些连接。默认情况下禁用此选项。

允许非组件调用方

如果启用此选项,则池可由非组件调用方 (例如 Servlet 过滤器和第三方持久性管理器) 使用。在事务处理结束时,容器不会自动关闭非组件调用方获取的连接。这些连接必须由调用方显式关闭。默认情况下禁用此选项。

相关任务
相关的 asadmin 命令
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices