Setting execution timeout values

executionTimeout is a property of the IMSInteractionSpec class. The execution timeout value that you set is converted to a value that IMS Connect uses. This conversion occurs to meet the requirements of IMS Connect. Important: Other timeout values can affect your interactions. If other timeout values are less than the execution timeout value you set for your IMS™ interaction, these other timeout values can cause the interaction to expire. Other timeout values include:
  • Connection timeout property of J2C connection factories
  • EJB transaction timeout value
  • Browser timeout value
  • Servlet HTTP session or EJB session timeout values

For example, when WebSphere Application Server is running on the z/OS platform, the server consists of two parts, a controller and a set of one or more servants. Application work is dispatched into servant regions.  Application work is, by default, timed.  In general, when an application in dispatch reaches its timeout, the servant region where it is dispatched is abended and restarted.  The server stays up and continues taking work.  For this reason, you should use care when choosing execution timeout values that are greater than WebSphere Application Server timeout values, or when choosing the execution timeout value of -1 (wait forever).  In addition, if you are planning on disabling WebSphere Application Server timeouts, you should check the server documentation in order to better understand the implications of doing this.

Another example is if you configure the execution timeout value to be greater than the timeout value specified for a browser response, then the execution timeout value is never used because the browser timeout value is exceeded first.

You can provide a value for the executionTimeout property of an IMSInteractionSpec class in one of two ways:
  • Using Rational Application Developer
  • Using the setExecutionTimeout method

With the first method, using Rational Application Developer, you can set the execution timeout value when you initially define the IMS binding properties for a new J2C Java Bean.

To edit the IMS binding properties that are already defined for a new J2C Java Bean, complete the following steps:
  1. Open the appropriate IMS binding Java file using the Java Editor.
  2. Locate the doclet tag for the IMSInteractionSpec class.
  3. Modify the doclet tag to add executionTimeout property, if it is not listed and specify a value for it. If it is listed, modify the value.
  4. Close the editor and click Yes to save your changes.
Note: You can also code individual timeout values for different interactions using the method described below in Exposing the executionTimeout property of the IMSInteractionSpec and Using the setExecutionTimeout method. If you code an execution timeout value in your Java client application code, that value overrides any execution timeout value that you set in Rational Application Developer.
With the second method, you can use the setExecutionTimeout method to set an execution timeout value. If you are creating a CCI application, you will have access to the setExecutionTimeout method of the IMSInteractionSpec. To use the setExecutionTimeout method, you need to instantiate a new IMSInteractionSpec or obtain the IMSInteractionSpec from your specific interaction. Then, set the executionTimeout value for the IMSInteractionSpec by using the setExecutionTimeout method provided by the IMSInteractionSpec class. For example:
interactionSpec.setExecutionTimeout(timeoutValue);
After you set the executionTimeout value for the IMSInteractionSpec, assign this interactionSpec to the specific interaction.
Related concepts
Execution timeout
Socket timeout
Related tasks
Setting the Socket Timeout Value
Related reference
Valid execution timeout values
Connection properties
IMSInteractionSpec properties
Feedback
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.