Utilisez ce modèle de programmation pour extraire une sortie mise en file d'attente par
IMS.
Il est possible que votre application doive récupérer des messages de sortie
ayant été précédemment mis en file d'attente. On parle alors de sortie asynchrone.
Les sorties asynchrones peuvent résulter de plusieurs
situations : sorties non livrées des interactions en mode de
validation 0, sorties de commutateurs de
programme à programme, sorties d'appels ISRT à un PCB alternatif, sorties
d'une application
IMS
qui renvoie plusieurs messages de sortie.
Pour récupérer une sortie asynchrone, une application
Java™ exécute une interaction
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT ou SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT. Elle doit fournir une valeur
pour la propriété interactionVerb et une valeur 0 pour la propriété commitMode
de l'objet IMSInteractionSpec utilisé par la méthode d'exécution de l'interaction.
Il existe deux types de connexions socket que vous pouvez utiliser pour l'extraction de sorties
asynchrones : connexion socket persistante partageable et connexion socket persistante dédiée. L'extraction de messages
de sortie asynchrones est différente selon le type de connexion socket utilisée. Les
valeurs de propriété interactionVerb utilisables pour extraire la sortie
asynchrone sont les suivantes :
- SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT
- SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
Conseil : SYNC_RECEIVE_ASYNCOUTPUT
a été déprécié dans IMS TM Resource Adapter version 10 et est à présent
remplacé par SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT.
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT est différent de SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT dans la façon dont IMS Connect vérifie les sorties sur la file d'attente de stockage temporaire asynchrone OTMA
d'IMS.
- Si, pour les interactions SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, il n'existe aucune sortie asynchrone
dans la file d'attente de stockage temporaire asynchrone OTMA
d'IMS
lorsque la demande d'extraction est exécutée,
IMS
Connect renvoie une notification d'expiration du délai d'attente d'exécution dès
que la valeur du délai définie par l'application client est passée.
Recommandation : Spécifiez 10 (délai d'exécution
minimal) pour les interactions
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT.
- Pour les interactions SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, si la
file d'attente de stockage temporaire ne comporte pas de sortie
asynchrone une fois le délai écoulé, IMS
Connect renvoie une erreur pour cause d'expiration du
délai d'exécution.
Sinon,
IMS
Connect renvoie le premier message de sortie dès qu'il est placé dans la file
d'attente.
Recommandation : Pour les interactions
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT, sélectionnez une valeur de délai d'attente d'exécution appropriée et non la plus
petite valeur possible.
Le modèle de programmation de sortie asynchrone requiert le mode de validation
0 et peut s'utiliser aussi bien sur les connexions socket persistantes
partageables que les connexions socket persistantes dédiées. En outre, les
propriétés purgeAsycOutput, reRoute et reRouteName de IMSInteractionSpec ne s'appliquent pas et sont ignorées lorsque la propriété interactionVerb
est définie sur l'une de ces trois valeurs.
La propriété interactionVerb n'est
pas appelée de la même façon sur les connexions socket persistantes
partageables et sur les connexions socket persistantes dédiées.