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.
- 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.
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 |