Valid execution timeout values

The execution timeout value is represented in milliseconds and must be a decimal integer from 1 through 3600000.

That is, the execution timeout value must be greater than zero and less than or equal to one hour. The execution timeout value can also be -1 if you want an interaction to run without a time limit. The execution timeout value cannot contain non-numeric characters.

If you do not specify an execution timeout value or if the value that you specify is invalid:
  • For SYNC_SEND_RECEIVE interactions, the timeout value in the IMS™ Connect configuration member is used and the interaction continues to run.
  • For SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, and SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interactions, IMS Connect sets the timeout value to two seconds and the interaction continues to run.

If an execution timeout is specified for a send-only interaction it is ignored as execution timeout does not apply to send-only interactions.

If you specify an invalid value and a timeout occurs, the timeout value that is specified in the IMS Connect configuration member is used, and the exception javax.resource.NotSupportedException is thrown.

Tip: The host system administrator determines the global timeout value in the IMS Connect configuration member. To display this value, issue the VIEWHWS command on the z/OS® console.

If a valid execution timeout value is set, this value is converted to a value that IMS Connect can use. The following table describes how the values that you specify are converted to the values that IMS Connect uses:

Range of user-specified values Conversion rule
1 - 250 If the user-specified value is not divisible by 10, it is converted to the next greater increment of 10.
251 - 1000 If the user-specified value is not divisible by 50, it is converted to the next greater increment of 50.
1001 - 60000 The user-specified value is converted to the nearest increment of 1000. Values that are exactly between increments of 1000 are converted to the next greater increment of 1000.
60001 - 3600000 The user-specified value is converted to the nearest increment of 60000. Values that are exactly between increments of 60000 are converted to the next greater increment of 60000.

For example, if you specify a value of 1, this value is converted to 10 (because 1 is not divisible by 10 and 10 is the next increment that is greater than 1). The following examples illustrate how the conversion works for each range of values:

User-specified value (milliseconds) Converted value (milliseconds)
1 10
11 20
251 300
401 450
1499 1000
1500 2000
60000 60000
89999 60000
3600000 3600000
3750000 3600000