Exceptions Java impliquant des messages de sortie

Si des erreurs se produisent quand IMS TM Resource Adapter passe le message via IMS Connect à IMS, et au moment où IMS traite cette transaction et tente de renvoyer la sortie, le client Java™ reçoit une exception.

Le type d'exception envoyé indique si le message de sortie est disponible pour récupération. Par exemple, si le client Java reçoit l'exception IMSDFSMessageException indiquant que la transaction est arrêtée, l'application n'a pas été exécutée. Par conséquent, il n'y a aucun message de sortie à récupérer. Cependant, si la transaction est exécutée mais que la valeur de executionTimeout expire avant que le message de sortie ne soit renvoyé à IMS Connect, le client Java recevra une exception EISSystemException. Cette exception indique qu'un dépassement du délai d'attente d'exécution s'est produit. Dans ce cas, le message de sortie est mis en file d'attente dans la file d'attente de sortie asynchrone IMS OTMA ou dans le tpipe approprié pour une récupération ultérieure.

Erreurs d'interaction de sortie asynchrone

Vous pouvez en général utiliser les interactions de sortie asynchrones, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT et SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, pour récupérer les messages de sortie mis en file d'attente pour un ID client, quelle que soit la manière dont ils ont été mis en file d'attente pour l'ID client associé. Les messages peuvent être placés en file d'attente suite à l'échec d'une transaction en mode de validation 0 ou s'ils proviennent d'une application IMS qui a émis un appel INSERT à un bloc ALTPCB (Alternate Program Communication Block).

Par exemple, dans le cas de la récupération d'un message de sortie résultant de l'échec d'une transaction en mode de validation 0, l'ID client spécifié dans la classe IMSConnectionSpec pour une demande de récupération doit correspondre à l'ID client qui a été spécifié sur la transaction en mode de validation 0 qui a échoué. Si rien ne se trouve dans la file d'attente de sortie asynchrone OTMA pour cet ID client particulier, une exception de dépassement du délai d'attente d'exécution se produit. L'exception de délai d'attente peut correspondre à l'un des deux scénarios suivants :

Pour les deux interactions de sortie asynchrone, le délai d'attente d'exécution correspond à la durée pendant laquelle IMS Connect attend une réponse d'IMS. Si vous ne définissez pas de valeur pour ce délai d'attente pour une demande de récupération, la valeur par défaut est utilisée. Cette valeur est la valeur TIMEOUT du membre de configuration d'IMS Connect. Il peut s'avérer nécessaire que l'utilisateur fasse un essai avec cette valeur afin de s'assurer que les messages de sortie sont bien renvoyés, quel que soit le type d'interaction.


Vos commentaires