在应用程序级别扩展 DB2 数据源定义

扩展 DB2® 数据源的数据源定义(此定义包含非核心属性或定制属性),以便在使用 DB2 通用 JDBC JDBC 驱动程序 或 DB2 Using IBM® JCC JDBC 驱动程序时进一步提高应用程序灵活性。此能力有时被称为异构合用。通过使用此功能,可以对应用程序服务器中的 DB2 数据源配置一组核心数据源属性,并让各个应用程序定义任何需要特定于应用程序的定制属性或非核心属性(例如 currentSchema 或 clientApplicationInformation)。您也可以使用这些扩展定义来覆盖已经为数据源定义的任何非核心或定制属性。另外,此功能在连接到同一数据源的资源之间使用一个连接池,从而减少应用程序服务器所使用的物理连接数。

开始之前

您必须正在使用 DB2 数据源,并且必须在包含下列其中一款 JDBC 提供程序的应用程序服务器中配置该数据源:
  • DB2 Universal JDBC Driver(V4.3.81 或更高版本)
  • DB2 Using IBM JCC 驱动程序(V3.53.65 或更高版本)

关于此任务

使非核心属性与数据源的不同资源引用相关联,并将应用程序配置成利用这些资源引用来扩展或覆盖该数据源的任何非核心属性。您可以选择定义新的非核心或定制属性,也可以覆盖任何已经为该数据源定义的非核心属性。
并且,应用程序可以共享应用程序服务器中的同一个连接池,即使每个应用程序都有自己的一组独特数据源属性亦如此。在应用程序服务器中可能只定义了一个数据源,因此只有一个连接池,但对于各个应用程序而言,似乎存在多个已定义的数据源。这将产生以下结果:
  • 降低了应用程序服务器的内存耗用量。数据源定义与一个连接池相对应,因此与对应于自己的连接池的数据源定义相比,内存中的对象较少。
  • 减少了对数据源打开的连接数,这可以降低数据源的内存耗用量。应用程序服务器可以通过提供一个与多个数据源相对应的连接池来减少空闲连接数,从而更高效地使用连接。
  • 在应用程序使用“获取/使用/关闭”连接模式时,能够在某些 DB2 方案中避免执行两阶段落实 (XA) 事务。在同一个事务中,应用程序服务器能够在具有同一组核心属性的不同资源引用之间共享连接,即使这些资源引用具有不同的非核心属性亦如此。此行为可以在连接共享导致应用程序服务器使用一个且只使用一个物理连接时避免进行两阶段落实处理。

过程

  1. 更新已安装的应用程序的数据源定义。
    1. 转到用于管理应用程序的资源引用的面板。
      • 对于不使用容器管理的持久性的应用程序,请单击应用程序 > WebSphere 企业应用程序 > application_name > 资源引用
      • 对于使用容器管理的持久性的应用程序,请单击应用程序 > WebSphere 企业应用程序 > application_name > 为包含 2.x 实体 Bean 的模块提供缺省数据源映射。无法为各个 CMP Bean 添加扩展属性。
      • 可以对同一个数据源配置两个资源引用文件。这允许您扩展数据源的定制属性以使其包括两个不同的模式名(z/OS® 上的 currentSQLId 或者定制属性中的 currentSchema 名称),可以通过这两个模式名来使用应用程序服务器的功能。有关更多信息,请参阅“对同一个数据源配置两个资源引用文件”主题。
        注: 对于 IBM Optim™ PureQuery Runtime,如果这是 XA 数据源,那么必须对此数据源定义 property_namedowngradeHoldCursorsUnderXa 且布尔值为 true 的新定制属性。
    2. 转到扩展数据源属性的面板。 从表中选择一个资源,然后单击扩展属性...。如果数据源不支持扩展数据源属性,那么您尝试应用这些更改时将发生错误。
    3. 添加特定于该目标资源的一个或多个扩展数据源定制属性。 单击新建,然后填写必填字段。对想要扩展数据源的所有属性重复此步骤。完成后,单击确定以返回到上一个屏幕。您无法修改下列数据源属性,对于所有使用此数据源的应用程序而言,这些属性必须相同:
      • accountingInterval
      • dataSourceName
      • databaseName
      • kerberosServerPrincipal
      • loginTimeout
      • logWriter
      • password
      • pkList
      • planName
      • portNumber
      • readOnly
      • securityMechanism
      • serverName
      • user
    4. 可选: 在 ibm-ejb-jar-ext.xml 中配置两个资源引用和隔离级别。
  2. 在安装期间为应用程序创建数据源定义。
    1. 浏览到用于为应用程序映射资源引用的面板。选择安装步骤将资源引用映射至资源,并遵循步骤 1 中的步骤 b 和步骤 c(描述如何为已经安装的应用程序更新数据源定义)。
  3. 可选: 要避免两阶段落实事务,请利用“获取/使用/关闭”连接模式。 “获取/使用/关闭”模式是指,应用程序从数据源或连接工厂获取连接并在单一方法中完成当前工作,此应用程序在该工作完成前不会调用另一个方法。
    1. 确保应用程序使用“获取/使用/关闭”连接模式。
    2. 允许应用程序服务器验证应用程序对“获取/使用/关闭”连接模式的使用,这可以在共享导致使用一个且只使用一个物理连接时避免进行两阶段落实处理。
      1. 单击资源 > JDBC > 数据源 > data_source > WebSphere Application Server 数据源属性
      2. 选择通过异构合用针对“获取/使用/关闭”连接模式进行优化。如果您选择此选项,但应用程序未使用“获取/使用/关闭”连接模式,那么您将接收到错误消息。
  4. 可选: 在缺省情况下,异构合用处于启用状态。在某些环境中,可能最好对数据源禁用异构合用。您可以通过定义一个数据源定制属性来取消激活此合用支持。此数据源定制属性名为 enableHeterogeneousPooling。如果没有为数据源定义 enableHeterogeneousPooling,或者为数据源定义了此属性并且它的值为 true,那么将启用异构合用。如果为数据源定义了 enableHeterogeneousPooling 并且它的值为 false,那么异构合用将处于禁用状态。要为数据源定义 enableHeterogeneousPooling 并禁用异构合用,请执行下列步骤:
    1. 单击资源 > JDBC 提供程序 > JDBC_provider
    2. 在“其他属性”下面,单击数据源
    3. 单击数据源的名称。
    4. 创建 enableHeterogeneousPooling 定制属性。
      1. 单击新建
      2. 在名称字段中输入 enableHeterogeneousPooling
      3. 在值字段中输入 false 以指定要禁用异构合用。
    5. 单击应用,然后单击保存

指示主题类型的图标 任务主题



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