设置套接字超时值

设置 socketTimeout 值时,需要考虑 executionTimeout 值。executionTimeout 属性就是 IMS Connect 将消息发送至 IMS™,然后接收来自 IMS 的响应这一过程可以花费的最长时间。socketTimeout 值包括了 executionTimeout 值。因此,socketTimeout 值应该大于 executionTimeout 属性,这是因为如果将套接字超时值设置为小于 executionTimeout 值,套接字就可能会发生不必要的超时。下表列示了基于 executionTimeout 值所建议的 socketTimeout 值。

执行超时值(毫秒) 执行超时行为 建议的套接字超时值
0(或者没有任何值) 使用 IMS Connect 配置文件中的缺省值。 套接字超时值应该大于 IMS Connect 配置文件中指定的执行超时缺省值。
1 - 3,6000,000 在经过指定的毫秒值之后,等待响应就超时。 套接字超时值应该大于执行超时值。
-1 将一直等待响应。 将套接字超时值设置为 0,以便连接会无限等待。

可以采用两种方法来设置套接字超时值。可以编写一个使用 JCA 公共客户机接口(CCI)来访问随 IMSInteractionSpec 一起提供的 getter 和 setter 方法的应用程序,或者使用 WebSphere® Studio Application Developer Integration Edition 提供的工具。

使用 CCI 应用程序来设置套接字超时值

如果要创建 CCI 应用程序,则您要对 IMSInteractionSpec 的 setSocketTimeout 方法具有访问权。要使用 setSocketTimeout 方法,需要实例化新的 IMSInteractionSpec 或者从特定交互中获得 IMSInteractionSpec。然后,使用 IMSInteractionSpec 类提供的 setSocketTimeout 方法来设置该 IMSInteractionSpec 的 socketTimeout 值。例如: 

interactionSpec.setSocketTimeout(timeoutValue1);
interaction.execute(interactionSpec,input,output); 

interactionSpec.setSocketTimeout(timeoutValue2);
interaction.execute(interactionSpec,input,output);

使用 WebSphere Studio Application Developer Integrated Edition 来设置套接字超时值

当您最初为 IMS 服务定义操作绑定属性时,可以使用 WebSphere Studio Application Developer Integrated Edition 来设置套接字超时值。要编辑已经为 IMS 服务定义的操作绑定属性,完成下列步骤:

  1. 使用 WSDL 编辑器打开相应的 IMS 绑定 WSDL 文件。
  2. 在“图”视图的“绑定”容器中,展开 IMS 绑定 WSDL 文件并展开相应的绑定操作文件。
  3. 选择操作可扩展性元素(例如,ims:operation)并编辑属性表中各个属性的值。
  4. 再次选择操作可扩展性元素,以指示已经进行了更改。
  5. 关闭编辑器并单击以保存更改。
相关概念
执行超时
套接字超时
相关任务
设置执行超时值
相关参考
有效的执行超时值
连接属性
IMSInteractionSpec 属性
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.