如果 Java™ 客户机应用程序发出一个 SYNC_SEND 交互,IMS 资源适配器就会通过 IMS Connect 向 IMS™ 发送请求,但是不会期望来自 IMS 的响应。由于 IMS 资源适配器与 IMS 之间执行的是“仅发送”交互,因而通常将 SYNC_SEND 交互用于无响应方式事务。
要使用 SYNC_SEND 交互来运行事务,应用程序为 interactionVerb 属性提供的值必须为 SYNC_SEND,为 execute 方法所使用的 IMSInteractionSpec 对象的 commitMode 属性提供的值必须为 0。根据所使用的持久套接字类型(可共享或专用)和运行的 IMS 事务类型的不同,SYNC_SEND 交互处理也会有所不同。
如果 IMS 的一个事务定义为无响应方式,则与该事务相关联的 IMS 应用程序通常不要求将输出消息插入 I/O PCB,因此,不会创建输出消息,也没有任何输出消息在 TPIPE 上排队。
如果 IMS 的一个事务定义为无响应方式,则与该事务相关联的 IMS 应用程序通常会将输出消息插入 I/O PCB 中。因为 IMS 资源适配器并不期望来自 SYNC_SEND 交互的响应,所以,如果插入了输出消息,就会在名称为已生成的 clientID 的名称的 TPIPE 上将这些输出消息排队。但是,如果在执行 SYNC_SEND 交互之后执行 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 或 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互,并且是在同一个应用程序和同一个连接上执行这些交互的,则可以使用后面这两种交互来检索响应。
如果 IMS 的一个事务定义为无响应方式,则与该事务相关联的 IMS 应用程序通常不会将输出消息插入 I/O PCB,因此,不会创建输出消息,也没有任何输出消息在 TPIPE 上排队。
如果 IMS 的一个事务定义为无响应方式,则与该事务相关联的 IMS 应用程序通常会将输出消息插入 I/O PCB 中。因为 IMS 资源适配器并不期望来自 SYNC_SEND 交互的响应,所以,如果插入了输出消息,就会在具有为该交互的 clientID 提供的名称的 TPIPE 上将这些输出消息排队。可以通过发出 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 或 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互来检索排队至这种类型的 TPIPE 的消息。TPIPE 名称就是为 SYNC_SEND 交互指定的 clientID。对于使用专用持久套接字连接的交互必须提供 clientID。