在分布式环境和 z/OS® 环境中,可以使用
TCP/IP 来连接 IMS™ TM
资源适配器与 IMS Connect。
如果应用程序是在分布式平台上,则 IMS TM
资源适配器与 IMS Connect
之间的连接必须是 TCP/IP 连接。例如,如果 IMS TM
资源适配器安装在 Windows®、AIX®、Solaris、Linux®、Linux for z/OS 或 HP-UX 的 WebSphere® Application Server
上,则 IMS TM
资源适配器必须通过使用 TCP/IP 连接与 IMS Connect
进行连接。如果 IMS TM
资源适配器安装在 WebSphere Application Server for z/OS 上,则还可选择使用 TCP/IP 连接。
指向 IMS
Connect 的 TCP/IP 连接与称为客户机标识的标识符相关联。IMS
Connect 确保连接到它的所有套接字连接的这些客户机标识都是唯一的。
IMS Connect
有两种 TCP/IP 连接:
对于这两种套接字连接类型而言,客户机标识的确定方式不同。
专用持久套接字连接
对于专用持久套接字连接,客户机标识值是由应用程序提供的。通常,专用持久套接字连接由单个应用程序连接使用或重复使用。但是,专用持久套接字连接也可以供通过使用相同的客户机标识来获取套接字的多个应用程序连续使用。如果不同的应用程序同时尝试利用相同的客户机标识来使用一个专用持久套接字连接,则第一个进行尝试的应用程序将成功获取该连接,而且,如果第一个应用仍在使用其连接,则其他应用程序的后续尝试将接收到来自 IMS
Connect 的“客户机重复”错误(DUPCLNT)。
在一个专用持久套接字连接可以源自多个
WebSphere
Application Server 实例的环境中,如果应用程序使用给定的客户机标识来获取专用持久套接字连接,则也会发生“客户机重复”错误。例如,如果环境使用一个工作负载管理器来管理多个
WebSphere
Application Server 实例,则可能会遇到客户机重复错误。如果环境使用的是专用持久套接字连接,则强烈建议不要将应用程序部署到这种类型的环境。
专用持久套接字连接适用于:
- 被应用程序串行连续使用
- 在单个 WebSphere
Application Server 实例连接至单个 IMS
Connect 的环境中使用。在某些情况下,单个 WebSphere
Application Server 实例可以连接至多个
IMS Connect 实例。在这种配置中,如果在 WebSphere
Application Server 与 IMS
Connect 之间使用了综合系统分发器,则不支持下列交互:
此外,如果不是以“超级成员”身份使用多个 IMS
系统,则可能无法通过使用 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT
交互来检索所有可用的输出消息。有关更多信息,请参阅 IMS
OTMA User Guide and Reference。
可共享持久套接字连接
可共享持久套接字连接使用由
IMS
Connector for Java™
生成的客户机标识。这些客户机标识对于使用可共享套接字的应用程序是不可视的。可共享持久套接字连接可供多个应用程序连续使用,没有上述有关专用持久套接字连接的各种局限性。
建立专用持久套接字连接
要建立专用持久套接字连接:
- • 使用 WebSphere
Application Server 对创建专用持久套接字连接的 J2C 连接工厂进行配置。这是通过为连接工厂的 CM0Dedicated 属性指定 TRUE 值来实现的。对于受管连接,应用程序使用 JNDI 来找到此连接工厂。还必须对应用程序进行配置以便将其 IMSInteractionSpec 的 commitMode 属性设置为 0。
- 为用于获取连接的 IMSConnectionSpec 对象的客户机标识属性提供值。如果应用程序使用生成的代码,则可以通过将 IMSConnectionSpec 的客户机标识属性作为数据进行公开以设置此值。如果应用程序使用 IMS TM
资源适配器的公共客户机接口(CCI),则可以通过使用在 getConnection 方法中传递的 IMSConnectionSpec 对象的 setClientID 方法来设置此值。
建立可共享持久套接字连接
要建立可共享持久套接字连接:
- 使用 WebSphere
Application Server 对创建可共享持久套接字连接的 J2C 连接工厂进行配置。为连接工厂的 CM0Dedicated 属性指定 FALSE 值。对于受管连接,应用程序使用 JNDI 来找到此连接工厂。
- 对于可共享持久套接字连接,IMS TM
资源适配器将自动为您设置客户机标识。如果应用程序使用的是生成的代码,则可共享持久套接字连接将由生成的代码获取。如果应用程序使用的是 IMS TM
资源适配器的公共客户机接口(CCI),则必须确保没有为 getConnection 方法中传递的 IMSConnectionSpec 对象的客户机标识属性提供值。