Valid execution timeout values

The execution timeout value is represented in milliseconds and must be a decimal integer in the range of 1 to 3600000, inclusively.

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, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, and SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interactions, IMS Connect will set the timeout value to two seconds and the interaction continues to run.

If an execution timeout is specified for a SEND ONLY interaction it will be ignored as execution timeout does not apply to SEND ONLY interactions.

If you specify an invalid value and a timeout occurs, it will correspond to the execution timeout value specified in the IMS Connect configuration member 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 MVS™ console. See the IMS Connect User's Guide and Reference (SC27-0946-03) for more information on the VIEWHWS command.

If a valid execution timeout value is set, this value is converted into a value that IMS Connect can use. The following table describes how the values 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

Feedback