Valores Válidos de Tempo Limite de Execução

O valor do tempo limite de execução é representado em milissegundos e deve ser um número inteiro decimal entre 1 e 3600000.

Ou seja, o valor de tempo limite de execução deve ser maior que zero ou menor ou igual a uma hora. O valor de tempo limite de execução também poderá ser -1 se você quiser que uma interação seja executada sem um limite de tempo. O valor de tempo limite de execução não pode conter caracteres não numéricos.

Se você não especificar um valor de tempo limite de execução ou se o valor especificado for inválido:
  • Para interações SYNC_SEND_RECEIVE, o valor de tempo limite no membro de configuração do IMS Connect será usado e a interação continuará executando.
  • Para as interações SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT e SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, o IMS Connect configura o valor de tempo limite como dois segundos, e a interação continua sendo executada.

Se for especificado um tempo limite de execução para uma interação somente de envio, ele será ignorado, pois o tempo limite de execução não se aplica a interações somente de envio.

Se especificar um valor válido e ocorrer um tempo limite, o valor de tempo limite especificado no membro de configuração do IMS Connect será usado e a exceção javax.resource.NotSupportedException será lançada.

Dica: O administrador do sistema host determina o valor de tempo limite global no membro de configuração do IMS Connect. Para exibir esse valor, emita o comando VIEWHWS no console do z/OS. Consulte o documento IMS Version 11 Commands, Volume 3 para obter mais informações sobre o comando VIEWHWS.

Se um valor de tempo limite de execução válido for configurado, esse valor será convertido em um valor que pode ser usado pelo IMS Connect. A tabela a seguir descreve como os valores especificados são convertidos nos valores usados pelo IMS Connect:

Intervalo de Valores Especificados pelo Usuário Regra de Conversão
1 - 250 Se o valor especificado pelo usuário não puder ser dividido por 10, ele será convertido ao próximo incremento maior que 10.
251 - 1000 Se o valor especificado pelo usuário não puder ser dividido por 50, ele será convertido ao próximo incremento maior que 50.
1001 - 60000 O valor especificado pelo usuário será convertido ao incremento mais próximo de 1000. Valores que estão exatamente entre incrementos de 1000 serão convertidos ao próximo incremento maior que 1000.
60001 - 3600000 O valor especificado pelo usuário será convertido ao incremento mais próximo de 60000. Valores que estão exatamente entre incrementos de 60000 serão convertidos ao próximo incremento maior que 60000.

Por exemplo, se você especificar um valor 1, esse valor será convertido em 10 (porque 1 não pode ser dividido por 10 e 10 é o próximo incremento maior que 1). Os seguintes exemplos ilustram como a conversão funciona para cada intervalo de valores:

Valor Especificado pelo Usuário (Milissegundos) Valor Convertido (Milissegundos)
1 10
11 20
251 300
401 450
1499 1000
1500 2000
60000 60000
89999 60000
3600000 3600000
3750000 3600000

Feedback