executionTimeout 属性就是 IMS™ Connect 将消息发送至 IMS,然后接收来自 IMS 的响应这一过程可以花费的最长时间。套接字超时值应该包括执行超时值。因此套接字超时值应该大于执行超时值,原因在于套接字超时值设置为小于执行超时值时可能会导致不必要的套接字超时。下表列示了根据执行超时值建议的套接字超时值。
执行超时值(毫秒) | 执行超时行为 | 建议的套接字超时值 |
0(或者没有任何值) | 使用 IMS Connect 配置文件中的缺省值。 | 套接字超时值应该大于 IMS Connect 配置文件中指定的执行超时缺省值。 |
1 - 3,6000,000 | 在经过指定的毫秒值之后,等待响应就超时。 | 套接字超时值应该大于执行超时值。 |
-1 | 将一直等待响应。 | 将套接字超时值设置为 0,以便连接会无限期等待。 |
可使用两种方法来设置套接字超时值。可使用公共客户机接口(CCI)来访问随 IMSInteractionSpec 提供的 getter 方法和 setter 方法来编写应用程序,或者将 Rational® Software Developer 平台的 IDE(如 Rational Application Developer)提供的工具与可选 J2EE 连接器体系结构(J2C)功能部件配合使用。
使用 CCI 应用程序来设置套接字超时值
如果要创建 CCI 应用程序,则您要对 IMSInteractionSpec 的 setSocketTimeout 方法具有访问权。要使用 setSocketTimeout 方法,请将新的 IMSInteractionSpec 实例化或通过特定交互获取 IMSInteractionSpec,并通过使用由 IMSInteractionSpec 类提供的 setSocketTimeout 方法来设置 IMSInteractionSpec 的套接字超时值。例如:
interactionSpec.setSocketTimeout(timeoutValue1); interaction.execute(interactionSpec,input,output); interactionSpec.setSocketTimeout(timeoutValue2); interaction.execute(interactionSpec,input,output);
使用 Rational Application Developer 设置套接字超时值
如果最初为新的 J2C Java™ Bean 定义了 IMS 绑定属性,则可使用 Rational Application Developer 画设置套接字超时值。
要编辑已经为新的 J2C Java Bean 定义的操作绑定属性,请完成下列步骤: