executionTimeout 是 IMSInteractionSpec 类的一种属性。您设置的执行超时值将被转换为 IMS Connect 可以使用的值。进行这种转换是为了满足 IMS Connect 的要求。
要点:其它超时值也可能会影响到您的交互。如果其它超时值小于为 IMS™ 交互设置的执行超时值,这些其它的超时值就会导致交互到期。其它超时值包括:
- J2C 连接工厂的连接超时属性
- EJB 事务超时值
- 浏览器超时值
- Servlet HTTP 会话或 EJB 会话超时值
例如,当 WebSphere Application Server 在 z/OS 平台上运行时,服务器由两部分组成,一部分是控制器,另一部分是一个或多个服务方。应用程序工作被分派到各个服务方区域中。缺省情况下,应用程序工作是有时间限制的。通常,当分派的应用程序达到它的超时限制时,分派该应用程序的服务方区域就会异常终止并重新启动。服务器将继续运行并且继续执行工作。因此,在选择大于
WebSphere Application Server 超时值的执行超时值时,或者在选择执行超时值为 -1(永久等待)时都应该相当谨慎。另外,如果您打算禁用
WebSphere Application Server 超时,则应该阅读服务器文档以便更好地理解这样做的意义。
另一个示例是,如果将执行超时值配置为大于为浏览器响应指定的超时值,则永远都不会使用该执行超时值,这是因为首先会达到浏览器超时值。
可以采用下面任何一种方法来提供 IMSInteractionSpec 类的 executionTimeout 属性的值:
- 使用 Rational Application Developer
- 使用 setExecutionTimeout 方法
通过使用第一种方法,即,使用 Rational Application Developer,可以在您最初为新的
J2C Java Bean 定义 IMS 绑定属性时设置执行超时值。
要编辑已经为新的 J2C Java Bean 定义的 IMS 绑定属性,完成下列步骤:
- 使用 Java 编辑器打开相应的 IMS 绑定 Java 文件。
- 找到 IMSInteractionSpec 类的 doclet 标记。
- 修改 doclet 标记以添加 executionTimeout 属性(如果未将它列示出来的话),并为它指定一个值。如果已经将它列示出来,则修改它的值。
- 关闭编辑器并单击是以保存更改。
注: 还可以使用下面的“给出 IMSInteractionSpec 的 executionTimeout 属性”和“使用 setExecutionTimeout 方法”中所描述的方法来为不同的交互分别编写超时值。如果您在 Java 客户机应用程序代码中编写执行超时值,该值就会覆盖在 Rational Application Developer 中设置的任何执行超时值。
如果采用第二种方法,则可以使用 setExecutionTimeout 方法来设置执行超时值。如果要创建 CCI 应用程序,则对 IMSInteractionSpec 的 setExecutionTimeout 方法要具有访问权。要使用 setExecutionTimeout 方法,需要实例化新的 IMSInteractionSpec 或者从特定交互中获得 IMSInteractionSpec。然后,使用 IMSInteractionSpec 类提供的 setExecutionTimeout 方法来设置该 IMSInteractionSpec 的 executionTimeout 值。例如:
interactionSpec.setExecutionTimeout(timeoutValue);
在设置 IMSInteractionSpec 的 executionTimeout 值之后,对特定交互指定此 interactionSpec。