有效的执行超时值

执行超时值是以毫秒表示的,它必须是 1 到 3600000 范围内的十进制整数,包含 1 和 3600000。

即,执行超时值必须大于零且小于或等于一小时。如果您想让交互在运行时没有时间限制,则也可以将执行超时值设置为 -1。执行超时值不能包含非数字字符。

如果您未指定执行超时值或者指定的值无效:
  • 对于 SYNC_SEND_RECEIVE 交互,将使用 IMS™ Connect 配置成员中的超时值,并且交互将继续运行。
  • 对于 SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互,IMS Connect 会将超时值设置为两秒,并且交互将继续运行。

如果对 SEND ONLY 交互指定了执行超时,则它会被忽略,原因是执行超时未应用于 SEND ONLY。

如果指定了无效值并且发生了超时,则它会响应 IMS Connect 配置成员中指定的执行超时值,并且会抛出异常 javax.resource.NotSupportedException。

提示:主机系统管理员将在 IMS Connect 配置成员中确定全局超时值。要显示该值,请在 MVS™ 控制台上发出 VIEWHWS 命令。有关 VIEWHWS 命令的更多信息,请参阅 IMS Connect User's Guide and Reference(SC27-0946-03)。

如果设置了有效的执行超时值,则此值会转换为 IMS Connect 可以使用的值。下表描述如何将您指定的值转换为 IMS Connect 可以使用的值:

用户指定的值的范围 转换规则
1 - 250 如果用户指定的值不能被 10 除尽,则将它转换为下一个更大的、10 的整数倍值。
251 - 1000 如果用户指定的值不能被 50 除尽,则将它转换为下一个更大的、50 的整数倍值。
1001 - 60000 用户指定的值将被转换为它最接近的、1000 的整数倍值。刚好在 1000 的两个整数倍之间的值将被转换为下一个更大的、1000 的整数倍值。
60001 - 3600000 用户指定的值将被转换为它最接近的、60000 的整数倍值。刚好在 60000 的两个整数倍之间的值将被转换为下一个更大的、60000 的整数倍值。

例如,如果您指定的值为 1,则该值将被转换为 10。因为 1 不能被 10 除尽,而 10 就是大于 1 的、下一个 10 的整数倍值。下列示例说明了每个范围内的值是如何进行转换的:

用户指定的值(毫秒) 转换后的值(毫秒)
1 10
11 20
251 300
401 450
1499 1000
1500 2000
60000 60000
89999 60000
3600000 3600000
3750000 3600000

反馈