使用此页面来设置应用程序服务器中的高级数据源属性。这些属性激活并配置应用程序服务器应用于数据源的服务,以定制应用程序服务器中的连接。这些属性不会影响数据库中的连接。
指定每个连接可以高速缓存的语句数。在您关闭某个语句之后,应用程序服务器就会高速缓存该语句。
如果语句高速缓存不够大,就会废弃有用的条目以便为新条目腾出空间。要确定高速缓存大小的最大值以避免任何高速缓存废弃,为每个使用特定服务器上的此数据源的应用程序添加单独预编译语句和可调用的语句数(如 SQL 字符串、并行性和滚动类型所确定的那样)。此值是服务器活动期间在给定连接上可以高速缓存的最大可能语句数。将高速缓存大小设置为该值意味着您不会再有高速缓存废弃的情况发生。通常,对于具有更多语句的应用程序应配置更大的高速缓存。
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
还可以使用 Tivoli® Performance Viewer 将高速缓存废弃数最小化。使用代表进入客户机请求的典型个数的标准工作负载、使用固定的迭代次数并使用配置设置的标准集合。如果您不希望应用程序服务器对特定语句进行高速缓存,请将该语句的可合用性提示配置为 false。如果可合用性提示设置为 false,那么应用程序服务器不会对语句进行高速缓存。应用程序将在运行时指定语句的可合用性提示。
在测试应用程序中,调整语句高速缓存可使吞吐量从 10% 提高到 20%。但是,由于潜在的资源局限性,此调整进程可能并非一直可行。
| 信息 | 值 |
|---|---|
| 数据类型 | 整型 |
| 缺省值 | 缺省值取决于数据库。此值通常为 10。对于没有相应的最新修订的 Informix® V7.3、V9.2、V9.3 和 V9.4,缺省值一定是 0。缺省值是 0 表示没有高速缓存语句。 |
如果选中了此项,那么当多个线程尝试同时使用同一个连接句柄时,会将以下警告消息输入到 WebSphere Application Server 系统输出日志中。如果您认为连接问题可能是由于多个线程尝试使用同一个连接句柄而引起的,那么可以使用此属性来调试该问题。让多个线程同时使用同一个连接句柄是一种编程模型违例。
J2CA0167W: 检测到多个线程尝试同时使用同一个连接句柄。该连接句柄是:{0}。
指示将不存在与从应用程序服务器的连接池中检索到的连接精确匹配(即,连接池搜索条件不包含用户名和密码)。而是会在 DataStoreHelper 类的 doConnectionSetupPerTransaction() 中对连接重新进行认证。但是,应用程序服务器在运行时未提供重新认证连接实现。因此,当选中了此框时,您必须扩展 DataStoreHelper 类以提供执行重新认证的 doConnectionSetupPerTransaction() 方法的实现。如果未完成此过程,那么应用程序服务器可能会返回不可用的连接。有关更多信息,请阅读 com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction 方法的 API 文档。
避免故障: 如果您选择 TrustedConnectionMapping 作为映射配置别名,那么不能启用数据库重新认证。gotcha如果选择了此选项,那么应用程序服务器使用 Java 消息服务 (JMS) 从此数据源中获取最佳连接。此属性可阻止 Java 数据库连接 (JDBC) 应用程序与容器管理的持久性 (CMP) 应用程序共享连接。如果数据源的 JDBC 提供程序是 XA 提供程序,那么此选项不可用。
指定容器是否跟踪高速缓存的句柄。高速缓存的句柄是连接句柄,应用程序组件在事务和方法边界间使这些句柄保持活动状态。可以使用此属性来调试连接问题,但跟踪句柄会导致运行时期间产生很大的性能问题。
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
指定当应用程序获取没有事务上下文的连接时,容器是否在活动日志中记录一个条目。这些是 Java Platform Enterprise Edition(Java EE)编程模型连接要求的例外情况。
避免故障: 要将此属性设置为 true 的情况非常少见,但在 Java 持久性 API (JPA) 应用程序同时需要 JTA 数据源和非 JTA 数据源时是一个例外。非 JTA 数据源要求将此属性设置为 true。gotcha指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误。应用程序服务器不会使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。
指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误,并且应用程序服务器将使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。
指定连接管理器是否测试与数据库新建的连接。
指定第一次预测试操作失败后重试数据库初始连接的次数。
如果选择验证新连接,那么此选项指定在初始连接尝试失败后,应用程序服务器再次尝试进行连接之前要等待的时间长度(以秒计)。
指定连接管理器在将合用的连接返回给应用程序之前是否测试这些连接的有效性。
如果选择预测试现有的合用连接时,此选项指定分配给 JDBC 驱动程序验证连接的时间长度(以秒计)。
指定应用程序服务器将使用 JDBC 驱动程序来验证连接。JDBC 提供程序必须支持 JDBC4.0 或更高版本才能使用此选项。仅当验证新连接或验证现有合用连接被选中时,此选项才可用。
避免故障: 对于 Oracle 数据源,仅在 validateNewConnectionTimeout 属性添加至
数据源的定制属性
之后,通过 JDBC 驱动程序来验证才会显示在管理控制台上。validateNewConnectionTimeout 属性用于 JDBC 4.0 驱动程序验证,可使用管理控制台来指定。gotcha指定应用程序服务器发送到数据库以测试连接的 SQL 语句。请使用可能对性能影响较小的查询。仅当验证新连接或验证现有合用连接被选中时,此选项才可用。
对使用“获取/使用/关闭”连接模式的应用程序的数据源进行优化。此优化会启用数据源的连接池以共享同一事务中的连接。利用此优化模式,您可以在事务期间共享一个连接,即使连接使用不同的连接属性。
如果使用异构合用功能,那么必须首先扩展数据源定义以便可指定不同的定制属性或者应用程序来覆盖该数据源的非核心属性。有关扩展数据源的更多信息,请参阅有关在应用程序级别扩展 DB2 数据源定义的信息。
指定两次重试自动客户机重新路由之间相隔的时间(以秒计)。
指定在与服务器的主连接断开时“自动客户机重新路由”功能尝试的最大重试连接次数。仅当设置了客户机重新路由的重试时间间隔时才使用此属性。
host1,host2
5000,50001
指定用来将 DB2 客户机重新路由服务器列表绑定至 JNDI 名称空间的 JNDI 名称。当内存中尚不存在备用服务器信息时,DB2 数据库服务器将使用此名称来查询备用服务器名称列表。类型 2 数据源不支持此选项。
仅与测试连接配合使用。当设置为 true 时,在发出测试连接后,将取消客户机重新路由服务器列表 JNDI 名称与 JNDI 名称空间的绑定。