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:
- Open the appropriate IMS binding Java file using the Java Editor.
- Locate the doclet tag for the IMSInteractionSpec class.
- 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.
- 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.