为使用 Db2 数据库的应用程序配置自动客户机重新路由

您可以为 DB2® 数据库配置客户机应用程序,以使用自动客户机重新路由 (ACR) 功能从通信丢失中恢复。 这些应用程序可以在中断最少的情况下继续工作。 ACR 功能部件由 Db2 服务器提供,不是应用程序服务器的功能部件。

准备工作

此任务假定存在以下前置条件:
  • 您具有在应用程序服务器中定义的 Db2 数据源。 有关创建数据源的更多信息,请参阅 "使用管理控制台配置数据源" 主题。
  • 应用程序连接到的 Db2 数据源正在运行以下某个 Db2 版本:
    • Db2 for z/OS V 10.1 或更高版本
    • Db2 Database for Linux®, UNIX , and Windows V 9.7 或更高版本
  • 您通过冗余设置实现了 Db2 数据库,或者能够将 Db2 服务器故障转移到备用节点。

有关此任务

通过 Db2的 ACR 功能,您可以在与主数据库服务器的连接失败时重新路由到备用数据库服务器位置。 此功能由 Db2 服务器和 IBM Data Server Driver for JDBC and SQLJ (JCC) 提供,不是应用程序服务器的功能部件。 必须在 Db2 服务器上启用和配置 ACR。 有关更多信息,请参阅 "相关信息" 中的 Db2 自动客户机重新路由 文档。

在 Db2 服务器上配置 ACR 之后,还必须在应用程序服务器中配置 Db2 数据源。 要支持客户机重新路由,必须指定备用服务器名称和备用端口号字段或 clientRerouteAlternateServerNameclientRerouteAlternatePortNumber 数据源定制属性。 这些属性的值必须与 Db2 服务器中配置的值匹配。 配置 ACR 后,如果 JDBC 驱动程序无法连接到主 Db2 服务器,那么 JCC 会将连接重新路由到备用服务器。

注意: 数据源定制属性 enableClientAffinitiesList将更改 clientRerouteAlternateServerNameclientRerouteAlternatePortNumber 属性的语义。 要了解有关这些属性的更多信息,请参阅 Db2 文档主题 所有受支持数据库产品的公共 IBM Data Server Driver for JDBC and SQLJ 属性。 要了解有关客户机亲缘关系的更多信息,请参阅主题 为使用 Db2 数据库的应用程序配置客户机亲缘关系

如果将 Db2 数据源配置为类型 4 JDBC 驱动程序,那么可以使用 客户机重新路由服务器列表 JNDI 名称 字段或 clientRerouteServerListJNDIName 数据源定制属性来启用客户机重新路由状态的持久性。 通常,当重新路由连接并且 JDBC 驱动程序已连接到备用 Db2 服务器时,备用服务器会将有关其自己的备用服务器的信息发送到 JDBC 驱动程序。 然后,如果备用 Db2 服务器不可用,那么 JDBC 驱动程序将具有重新路由连接所需的信息。 实际上,最初是备用服务器的服务器现在是主服务器,并且已建立新的备用服务器。 如果启用了客户机重新路由持久性,那么将记住这个新状态。 如果应用程序服务器崩溃并重新启动,那么 JDBC 驱动程序可以连接到在崩溃时被视为主服务器的 Db2 服务器。 如果没有持久性功能,那么 JDBC 驱动程序必须从原始服务器配置开始,并尝试连接到最初被视为主服务器的服务器。

过程

  1. 在管理控制台中,单击 资源 > JDBC > 数据源 > data_source
  2. 单击 WebSphere Application Server 数据源属性
  3. Db2 自动客户机重新路由选项 部分中,填写字段以启用客户机重新路由。
    填写以下字段:
    备用服务器名称
    指定 Db2 服务器的一个或多个备用服务器名称的列表。 如果指定了多个备用服务器名称,那么这些名称必须以逗号分隔。 例如:
     host1,host2
    备用端口号
    指定 Db2 服务器的一个或多个备用服务器端口的列表。 如果指定了多个备用服务器端口,那么这些端口必须以逗号分隔。 例如:
    5000,50001
    避免麻烦: 确保必须为备用端口和主机指定相等数量的条目。 否则,系统将显示警告,并且不会启用客户机重新路由功能。
  4. 可选: 使用持久性选项启用客户机重新路由。
    1. 填写 客户机重新路由服务器列表 JNDI 名称的字段。
      此字段指定用于将 Db2 客户机重新路由服务器列表绑定到 JNDI 名称空间的 JNDI 名称。 应用程序服务器在应用程序服务器重新启动后使用此名称来查找备用服务器列表。
      避免麻烦:
      • 2 类数据源不支持此选项。 如果使用配置为类型 2 JDBC 驱动程序的 Db2 数据源,那么 JDBC 驱动程序将使用目录来持久存储客户机重新路由信息。 如果使用类型 2 驱动程序配置此属性,那么应用程序服务器将发出警告。
      • 在不同的数据源之间,请使用不同的 JNDI 名称。 否则,当您删除数据源,并且从名称空间中除去 JNDI 条目时,共享该 JNDI 条目的其他数据源将受到影响。
  5. 配置客户机重新路由功能的重试计数和时间间隔。
    请填写下面这两个字段:
    客户机重新路由的重试时间间隔
    指定两次重试自动客户机重新路由之间相隔的时间(以秒计)。
    客户机重新路由的最大重试次数
    指定在与服务器的主连接断开时“自动客户机重新路由”功能尝试的最大重试连接次数。 仅当设置了客户机重新路由的重试时间间隔时才使用此属性。
  6. 单击 确定 并保存更改。
  7. 重新启动应用程序服务器。

下一步做什么?

以后,如果您想移除 JNDI 中绑定的客户机重新路由信息,那么可以通过删除数据源来完成此任务。 另外,也可以将取消绑定功能与测试连接服务配合使用,以便从应用程序服务器的 JNDI 名称空间中删除客户机重新路由功能的 JNDI 绑定,而不删除数据源。
要删除客户机重新路由功能的 JNDI 绑定,请执行下列操作:
  1. 选择从 JNDI 取消绑定客户机重新路由列表
  2. 单击确定
  3. 保存配置。
  4. 对数据源单击测试连接
  5. 清除 从 JNDI 取消绑定客户机重新路由列表
  6. 单击确定
  7. 保存配置。