Use esse modelo de programação para recuperar saídas enfileiradas pelo IMS.
Seu aplicativo pode precisar recuperar a saída que foi enfileirada em algum momento anterior. Essa saída é chamada de saída assíncrona.
A saída assíncrona pode resultar de várias situações: saída não entregue de interações de modo de confirmação 0, saída de comutadores de programa para programa, saída de chamadas ISRT para um PCB alternativo e saída de um aplicativo IMS que retorna várias mensagens de saída.
Para recuperar a saída assíncrona, um aplicativo Java™ executa uma interação SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT ou SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT. O aplicativo deve fornecer o valor para a propriedade interactionVerb e o valor de 0 para a propriedade commitMode do objeto IMSInteractionSpec que é usado pelo
método execute da interação.
Dois tipos de conexões de soquetes que podem ser usados para recuperar saída assíncrona são soquete persistente compartilhável e soquete persistente dedicado. A forma de recuperar mensagens de saída assíncrona varia dependendo do tipo de conexão de soquete utilizado. Os valores da propriedade interactionVerb que podem ser usados para recuperar saída assíncrona são:
- SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT
- SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
Dica: SYNC_RECEIVE_ASYNCOUTPUT foi reprovado no IMS TM
Resource Adapter Versão 10 e substituído pelo SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT.
O SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT é diferente do SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT na forma como o IMS Connect
verifica a saída na fila de suspensão assíncrona do IMS OTMA.
- Para interações SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, se nenhuma saída assíncrona estiver na fila de suspensão assíncrona do IMS OTMA quando o pedido de recuperação for feito, o IMS Connect retornará uma notificação de tempo limite de execução assim que o valor de tempo limite de execução especificado pelo aplicativo cliente for atingido.
Recomendação: Especifique o valor de tempo limite de execução mínimo, 10, para interações SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT.
- Para interações SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, quando o valor de tempo limite de execução for atingido, se nenhuma saída assíncrona estiver na fila de suspensão, o IMS Connect retornará um erro de tempo limite.
Caso contrário, o IMS Connect retornará a primeira mensagem de saída quando for colocado na fila.
Recomendação: Para interações SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT,
selecione um valor de tempo limite de execução adequado e não o valor mínimo.
O modelo de programação de saída assíncrona
requer um modo de confirmação 0 e pode ser usado nas conexões de soquete persistente compartilhável e
de soquete persistente dedicado. Além disso, as propriedades
purgeAsycOutput, reRoute e reRouteName de IMSInteractionSpec não se aplicam e são
ignoradas quando a propriedade interactionVerb é configurada em qualquer um desses valores.
A propriedade interactionVerb será chamada de forma diferente em conexões de soquetes persistentes dedicados e compartilháveis.