Other types of timeouts
In addition to execution timeouts and socket timeouts, other types of timeouts, such as those for the J2C connection factory, the Enterprise JavaBeans (EJB) transaction, browsers, the HTTP session, and the EJB session, can impact your application's execution.
When you developer your application, you must consider how other types of timeouts might impact the execution of your application.
Timeouts overlap or even encapsulate one another. Such capability provides multiple layers of protection against problems that can cause your application to hang. A longer timeout might mask a shorter timeout. For example, if the socket timeout is set to a lower value than the execution timeout, the socket timeout error would preclude an execution timeout and the absence of a response from IMS™ would remain unknown.
Other timeout values that might interact with the IMS TM resource adapter timeouts include the following values:
- Connection timeout property of J2C connection factories
- Enterprise JavaBeans (EJB) transaction timeout
- Browser timeout
- Servlet HTTP session or EJB session timeout
One example of a timeout that might impact the execution of your application is the interaction between the applications that run on WebSphere® Application Server for z/OS® and the IMS TM resource adapter. The WebSphere Application Server for z/OS consists of two parts: a controller and a set of one or more servants. By default, application work is timed, even when it is dispatched to a servant region. When an application that is dispatched to a servant region reaches its timeout, that servant region usually is abended and restarted. The server stays up and continues taking work. For this reason, use care when you choose execution timeout values that are greater than WebSphere Application Server timeout values. Also use care when you choose the execution timeout value of -1, which tells IMS Connect to wait indefinitely for a response from IMS.
If you disable WebSphere Application Server timeouts, refer to the server documentation for information regarding additional timeout values that are not described in this information.
A second example of a timeout value that would impact the execution of your application is the browser timeout. If the execution timeout value is configured to be greater than the browser timeout, the execution timeout value is not used because the browser timeout occurs before the execution timeout.