WebSphere Application Server 数据源属性
使用此页面来设置应用程序服务器中的高级数据源属性。这些属性激活并配置应用程序服务器应用于数据源的服务,以定制应用程序服务器中的连接。这些属性不会影响数据库中的连接。
- 。
语句高速缓存大小
指定每个连接可以高速缓存的语句数。在您关闭某个语句之后,应用程序服务器就会高速缓存该语句。
- 预编译语句是存储在 PreparedStatement 对象中的预编译 SQL 语句。应用程序服务器使用此对象来根据应用程序运行时的需要将 SQL 语句运行多次,并且值由运行时确定。
- 可调用语句是包含存储过程调用的 SQL 语句(存储过程是一系列预编译语句,这些语句执行任务并返回结果)。此语句存储在 CallableStatement 对象中。应用程序服务器使用此对象来根据应用程序运行时的需要将存储过程运行多次,并且值由运行时确定。
如果语句高速缓存不够大,就会废弃有用的条目以便为新条目腾出空间。要确定高速缓存大小的最大值以避免任何高速缓存废弃,为每个使用特定服务器上的此数据源的应用程序添加单独预编译语句和可调用的语句数(如 SQL 字符串、并行性和滚动类型所确定的那样)。此值是服务器活动期间在给定连接上可以高速缓存的最大可能语句数。将高速缓存大小设置为该值意味着您不会再有高速缓存废弃的情况发生。通常,对于具有更多语句的应用程序应配置更大的高速缓存。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
如果您不希望应用程序服务器对特定语句进行高速缓存,请将该语句的可合用性提示配置为 false。如果可合用性提示设为 false,那么应用程序服务器不会对语句进行高速缓存。应用程序将在运行时指定语句的可合用性提示。
在测试应用程序中,调整语句高速缓存可使吞吐量从 10% 提高到 20%。但是,由于潜在的资源局限性,此调整进程可能并非一直可行。
信息 | 值 |
---|---|
数据类型 | 整数 |
缺省 | 缺省值取决于数据库。此值通常为 10。对于没有相应的最新修订的 Informix® V7.3、V9.2、V9.3 和 V9.4,缺省值一定是 0。缺省值是 0 表示没有高速缓存语句。 |
启用多线程的访问检测
J2CA0167W: 检测到多个线程尝试同时使用同一个连接句柄。该连接句柄是:{0}。
DSRA8720W: 已检测到 {0} 上的多线程访问。上次与线程标识为 {1}id 的多线程访问配合使用。当前线程标识:{2} 当前线程的堆栈跟踪:{3}
启用数据库重新认证
指示将不存在与从应用程序服务器的连接池中检索到的连接精确匹配(即,连接池搜索条件不包含用户名和密码)。而是会在 DataStoreHelper 类的 doConnectionSetupPerTransaction() 中对连接重新进行认证。但是,应用程序服务器在运行时未提供重新认证连接实现。因此,当选中了此框时,您必须扩展 DataStoreHelper 类以提供执行重新认证的 doConnectionSetupPerTransaction() 方法的实现。如果未完成此过程,那么应用程序服务器可能会返回不可用的连接。有关更多信息,请阅读 com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction 方法的 API 文档。

启用 JMS 一阶段优化支持
如果选择了此选项,那么应用程序服务器使用 Java™ 消息服务 (JMS) 从此数据源中获取最佳连接。此属性可阻止 Java 数据库连接 (JDBC) 应用程序与容器管理的持久性 (CMP) 应用程序共享连接。如果数据源的 JDBC 提供程序是 XA 提供程序,那么此选项不可用。
管理高速缓存的句柄
指定容器是否跟踪高速缓存的句柄。高速缓存的句柄是连接句柄,应用程序组件在事务和方法边界间使这些句柄保持活动状态。可以使用此属性来调试连接问题,但跟踪句柄会导致运行时期间产生很大的性能问题。
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
记录缺少的事务上下文
指定当应用程序获取没有事务上下文的连接时,容器是否在活动日志中记录一个条目。这些是 Java Platform Enterprise Edition(Java EE)编程模型连接要求的例外情况。
非事务性数据源

使用 WebSphere Application Server 异常检查模型
指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误。应用程序服务器不会使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。
使用 WebSphere Application Server 异常映射模型
指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误,并且应用程序服务器将使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。
验证新连接
指定连接管理器是否测试与数据库新建的连接。
重试次数
指定第一次预测试操作失败后重试数据库初始连接的次数。
重试时间间隔
如果选择验证新连接,那么此选项指定在初始连接尝试失败后,应用程序服务器再次尝试进行连接之前要等待的时间长度(以秒计)。
验证现有的合用连接
指定连接管理器在将合用的连接返回给应用程序之前是否测试这些连接的有效性。
重试时间间隔
如果选择预测试现有的合用连接时,此选项指定分配给 JDBC 驱动程序验证连接的时间长度(以秒计)。
通过 JDBC 驱动程序来验证
指定应用程序服务器将使用 JDBC 驱动程序来验证连接。JDBC 提供程序必须支持 JDBC4.0 或更高版本才能使用此选项。仅当验证新连接或验证现有合用连接被选中时,此选项才可用。
超时
通过 SQL 字符串来验证(建议不要使用)
指定应用程序服务器发送到数据库以测试连接的 SQL 语句。请使用可能对性能影响较小的查询。仅当验证新连接或验证现有合用连接被选中时,此选项才可用。
通过异构池针对“获取/使用/关闭”连接模式进行优化
对使用“获取/使用/关闭”连接模式的应用程序的数据源进行优化。此优化会启用数据源的连接池以共享同一事务中的连接。利用此优化模式,您可以在事务期间共享一个连接,即使连接使用不同的连接属性。
如果使用异构合用功能,那么必须首先扩展数据源定义以便可指定不同的定制属性或者应用程序来覆盖该数据源的非核心属性。有关扩展数据源的更多信息,请参阅有关在应用程序级别扩展 DB2 数据源定义的信息。
客户机重新路由的重试时间间隔
指定两次重试自动客户机重新路由之间相隔的时间(以秒计)。
客户机重新路由的最大重试次数
指定在与服务器的主连接断开时“自动客户机重新路由”功能尝试的最大重试连接次数。仅当设置了客户机重新路由的重试时间间隔时才使用此属性。
备用服务器名称
host1,host2
备用端口号
5000,50001
客户机重新路由服务器列表 JNDI 名称
指定用来将 DB2 客户机重新路由服务器列表绑定至 JNDI 名称空间的 JNDI 名称。当内存中尚不存在备用服务器信息时,DB2 数据库服务器将使用此名称来查询备用服务器名称列表。类型 2 数据源不支持此选项。
从 JNDI 取消绑定客户机重新路由列表
仅与测试连接配合使用。当设为 true 时,在发出测试连接后,将取消客户机重新路由服务器列表 JNDI 名称与 JNDI 名称空间的绑定。