WebSphere Application Server 数据源属性

使用此页面来设置应用程序服务器中的高级数据源属性。这些属性激活并配置应用程序服务器应用于数据源的服务,以定制应用程序服务器中的连接。这些属性不会影响数据库中的连接。

要访问此管理控制台页面,请完成下列其中一项操作:
  • 资源 > JDBC > 数据源 > data_source > WebSphere Application Server 数据源属性
  • 资源 > JDBC > JDBC 提供程序 > JDBC_provider > 数据源 > data_source > WebSphere Application Server 数据源属性
  • 应用程序 > 应用程序类型 > WebSphere 企业应用程序 > application_name > 应用程序作用域的资源 > data_source > WebSphere Application Server 数据源属性

语句高速缓存大小

指定每个连接可以高速缓存的语句数。在您关闭某个语句之后,应用程序服务器就会高速缓存该语句。

WebSphere® Application Server 数据源通过对活动连接中未使用的预编译语句和可调用语句进行高速缓存来优化对这些语句的处理。这两种语句类型都有助于最大程度地提高应用程序与数据存储器之间的事务性能。
  • 预编译语句是存储在 PreparedStatement 对象中的预编译 SQL 语句。应用程序服务器使用此对象来根据应用程序运行时的需要将 SQL 语句运行多次,并且值由运行时确定。
  • 可调用语句是包含存储过程调用的 SQL 语句(存储过程是一系列预编译语句,这些语句执行任务并返回结果)。此语句存储在 CallableStatement 对象中。应用程序服务器使用此对象来根据应用程序运行时的需要将存储过程运行多次,并且值由运行时确定。

如果语句高速缓存不够大,就会废弃有用的条目以便为新条目腾出空间。要确定高速缓存大小的最大值以避免任何高速缓存废弃,为每个使用特定服务器上的此数据源的应用程序添加单独预编译语句和可调用的语句数(如 SQL 字符串、并行性和滚动类型所确定的那样)。此值是服务器活动期间在给定连接上可以高速缓存的最大可能语句数。将高速缓存大小设置为该值意味着您不会再有高速缓存废弃的情况发生。通常,对于具有更多语句的应用程序应配置更大的高速缓存。

[AIX Solaris HP-UX Linux Windows][IBM i]还可以使用 Tivoli® Performance Viewer 将高速缓存废弃数最小化。使用代表进入客户机请求的典型个数的标准工作负载、使用固定的迭代次数并使用配置设置的标准集合。
注: 语句高速缓存越高,延迟系统资源越多。因此,如果将此数设置得过高,那么您可能会因为系统无法打开多个预编译语句而缺乏资源。

如果您不希望应用程序服务器对特定语句进行高速缓存,请将该语句的可合用性提示配置为 false。如果可合用性提示设为 false,那么应用程序服务器不会对语句进行高速缓存。应用程序将在运行时指定语句的可合用性提示。

在测试应用程序中,调整语句高速缓存可使吞吐量从 10% 提高到 20%。但是,由于潜在的资源局限性,此调整进程可能并非一直可行。

信息
数据类型 整数
缺省 缺省值取决于数据库。此值通常为 10。对于没有相应的最新修订的 Informix® V7.3、V9.2、V9.3 和 V9.4,缺省值一定是 0。缺省值是 0 表示没有高速缓存语句。

启用多线程的访问检测

如果选中了此项,那么当多个线程尝试同时使用同一个连接句柄时,会将以下一个或两个警告消息输入到 WebSphere Application Server 系统输出日志中。如果您认为连接问题可能是由于多个线程尝试使用同一个连接句柄而引起的,那么可以使用此属性来调试该问题。让多个线程同时使用同一个连接句柄是一种编程模型违例。
注: 根据具体的处理情况,使用受管连接可能会导致发出消息 J2CA0167W 和/或 DSRA8720W。将启用多线程访问检测启用时,应查看这些消息的作业日志。

J2CA0167W: 检测到多个线程尝试同时使用同一个连接句柄。该连接句柄是:{0}。

DSRA8720W: 已检测到 {0} 上的多线程访问。上次与线程标识为 {1}id 的多线程访问配合使用。当前线程标识:{2} 当前线程的堆栈跟踪:{3}

启用数据库重新认证

指示将不存在与从应用程序服务器的连接池中检索到的连接精确匹配(即,连接池搜索条件不包含用户名和密码)。而是会在 DataStoreHelper 类的 doConnectionSetupPerTransaction() 中对连接重新进行认证。但是,应用程序服务器在运行时未提供重新认证连接实现。因此,当选中了此框时,您必须扩展 DataStoreHelper 类以提供执行重新认证的 doConnectionSetupPerTransaction() 方法的实现。如果未完成此过程,那么应用程序服务器可能会返回不可用的连接。有关更多信息,请阅读 com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction 方法的 API 文档。

通过减少打开和关闭连接的次数,连接重新认证可帮助改进性能,特别是对于频繁使用不同的用户名和密码来请求连接的应用程序。
避免故障 避免故障: 如果您选择 TrustedConnectionMapping 作为映射配置别名,那么不能启用数据库重新认证。gotcha

启用 JMS 一阶段优化支持

如果选择了此选项,那么应用程序服务器使用 Java™ 消息服务 (JMS) 从此数据源中获取最佳连接。此属性可阻止 Java 数据库连接 (JDBC) 应用程序与容器管理的持久性 (CMP) 应用程序共享连接。如果数据源的 JDBC 提供程序是 XA 提供程序,那么此选项不可用。

管理高速缓存的句柄

指定容器是否跟踪高速缓存的句柄。高速缓存的句柄是连接句柄,应用程序组件在事务和方法边界间使这些句柄保持活动状态。可以使用此属性来调试连接问题,但跟踪句柄会导致运行时期间产生很大的性能问题。

如果在管理控制台中选择了管理高速缓存的句柄属性,然后又取消选择此属性,那么对于应用程序服务器 V7.0 或更高版本中的资源,此字段将不再可视。仅当在 resources.xml 文件中将 manageCachedHandles 属性设置为 true 时才会显示此字段。要使此字段可用,可在 resources.xml 文件中将 manageCachedHandles 条目的值从 false 更改为 true,或者在 wsadmin 工具中输入以下 Jython 命令:
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
注: 对于在应用程序服务器 V6.x 中运行的任何资源,管理高速缓存的句柄 属性始终都将可视。例如,如果有一个节点处于 V6.1 级别,那么 resources.xml 文件中的条目将不会影响此字段在管理控制台中的显示方式。
如果要使用另一种方法来调试问题,那么可使用多线程和跨组件诊断警报来检测 Java 连接器体系结构 (JCA) 编程模型中的违例。要启用这些警报,请从服务器 > 应用程序服务器 > application_server > 性能 > 性能和诊断顾问程序配置 > 性能和诊断建议配置面板中选择那些选项。这些警报将强制连接管理器管理高速缓存的句柄、检测连接条件和发送警报。
注: 要使这些警报处于活动状态,还必须从服务器 > 应用程序服务器 > application_server > 性能 > 性能和诊断顾问程序配置面板中选择启用性能和诊断顾问程序框架(运行时性能顾问程序)

记录缺少的事务上下文

指定当应用程序获取没有事务上下文的连接时,容器是否在活动日志中记录一个条目。这些是 Java Platform Enterprise Edition(Java EE)编程模型连接要求的例外情况。

非事务性数据源

指定应用程序服务器在全局事务或局部事务中不会加入来自此数据源的连接。如果应用程序要在连接时启动局部事务,那么他们必须在连接时显式调用 setAutoCommit(false),并且他们必须落实或回滚他们启动的事务。
避免故障 避免故障: 要将此属性设置为 true 的情况非常少见,但在 Java 持久性 API (JPA) 应用程序同时需要 JTA 数据源和非 JTA 数据源时是一个例外。非 JTA 数据源要求将此属性设置为 truegotcha

使用 WebSphere Application Server 异常检查模型

指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误。应用程序服务器不会使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。

使用 WebSphere Application Server 异常映射模型

指定应用程序服务器使用在数据存储辅助控件中定义的错误映射工具来找出错误,并且应用程序服务器将使用在数据存储辅助控件的错误映射中定义的异常来替换由 JDBC 驱动程序抛出的异常。

注: 此错误检测模型对 JDBC V3.0 和较早版本起作用。

验证新连接

指定连接管理器是否测试与数据库新建的连接。

重试次数

指定第一次预测试操作失败后重试数据库初始连接的次数。

重试时间间隔

如果选择验证新连接,那么此选项指定在初始连接尝试失败后,应用程序服务器再次尝试进行连接之前要等待的时间长度(以秒计)。

验证现有的合用连接

指定连接管理器在将合用的连接返回给应用程序之前是否测试这些连接的有效性。

重试时间间隔

如果选择预测试现有的合用连接时,此选项指定分配给 JDBC 驱动程序验证连接的时间长度(以秒计)。

通过 JDBC 驱动程序来验证

指定应用程序服务器将使用 JDBC 驱动程序来验证连接。JDBC 提供程序必须支持 JDBC4.0 或更高版本才能使用此选项。仅当验证新连接验证现有合用连接被选中时,此选项才可用。

超时

指定应用程序服务器对数据库新建的或轮询的测试连接的超时(以秒计)。如果在验证前该超时到期,那么将认为该连接不可用。如果配置了重试,那么该超时的完整值适用于每次重试。值 0 表示 JDBC 驱动程序在执行验证尝试时不会使用超时。
注: 此选项仅可用于符合 JDBC 4.0 的 JDBC 驱动程序。

通过 SQL 字符串来验证(建议不要使用)

指定应用程序服务器发送到数据库以测试连接的 SQL 语句。请使用可能对性能影响较小的查询。仅当验证新连接验证现有合用连接被选中时,此选项才可用。

通过异构池针对“获取/使用/关闭”连接模式进行优化

对使用“获取/使用/关闭”连接模式的应用程序的数据源进行优化。此优化会启用数据源的连接池以共享同一事务中的连接。利用此优化模式,您可以在事务期间共享一个连接,即使连接使用不同的连接属性。

如果使用异构合用功能,那么必须首先扩展数据源定义以便可指定不同的定制属性或者应用程序来覆盖该数据源的非核心属性。有关扩展数据源的更多信息,请参阅有关在应用程序级别扩展 DB2 数据源定义的信息。

注: 此字段仅可用于 DB2® 数据源。

客户机重新路由的重试时间间隔

指定两次重试自动客户机重新路由之间相隔的时间(以秒计)。

注: 此字段仅可用于 DB2 数据源。

客户机重新路由的最大重试次数

指定在与服务器的主连接断开时“自动客户机重新路由”功能尝试的最大重试连接次数。仅当设置了客户机重新路由的重试时间间隔时才使用此属性。

注: 此字段仅可用于 DB2 数据源。

备用服务器名称

指定 DB2 服务器的备用服务器名称列表。如果指定了多个备用服务器名称,那么必须用逗号分隔这些名称。例如:
host1,host2
注: 此字段仅可用于 DB2 数据源。

备用端口号

指定 DB2 服务器的备用服务器端口列表。如果指定了多个备用服务器端口,那么必须用逗号分隔这些端口。例如:
5000,50001
注: 此字段仅可用于 DB2 数据源。

客户机重新路由服务器列表 JNDI 名称

指定用来将 DB2 客户机重新路由服务器列表绑定至 JNDI 名称空间的 JNDI 名称。当内存中尚不存在备用服务器信息时,DB2 数据库服务器将使用此名称来查询备用服务器名称列表。类型 2 数据源不支持此选项。

注: 此字段仅可用于 DB2 数据源。

从 JNDI 取消绑定客户机重新路由列表

仅与测试连接配合使用。当设为 true 时,在发出测试连接后,将取消客户机重新路由服务器列表 JNDI 名称与 JNDI 名称空间的绑定。

注: 此字段仅可用于 DB2 数据源。

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=udat_jdbcdatasorprops
文件名:udat_jdbcdatasorprops.html