Lorsque votre application Java interagit avec IMS, elle doit fournir un objet IMSInteractionSpec configuré. Les valeurs des propriétés de l'objet IMSInteractionSpec décrivent l'interaction avec IMS. Les valeurs des propriétés de l'objet IMSInteractionSpec peuvent être fournies directement via des méthodes set par une application utilisant l'interface CCI ou bien être fournies à un assistant d'une interface IDE qui génère le code de l'application. Certaines de ces propriétés sont des propriétés d'entrée uniquement, d'autres sont des propriétés d'entrée et de sortie et d'autres encore sont des propriétés de sortie uniquement. L'application Java (également appelée composant d'application) interroge uniquement les propriétés de sortie pour déterminer des informations supplémentaires concernant l'interaction.
La liste suivante répertorie toutes les propriétés de IMSInteractionSpec :
Valeur | Constante nommée dans IMSInteractionSpecProperties | Description |
---|---|---|
1 | IMS_REQUEST_TYPE_IMS_ |
La requête est une transaction IMS. La sortie de transaction normale renvoyée par IMS est utilisée pour renseigner le message de sortie de l'application. Si
IMS renvoie un message "DFS", l'adaptateur de ressources IMS émet une exception IMSDFSMessageException
contenant le message "DFS". Cette valeur pour imsRequestType est utilisée pour les applications qui ne sont pas générées avec le support MFS de WebSphere Studio. |
2 | IMS_REQUEST_TYPE_IMS_COMMAND | La requête est une commande IMS. La sortie de commande renvoyée par IMS, y compris les messages
"DFS"
est utilisée pour renseigner le message de sortie de l'application. L'exception IMSDFSMessageException n'est pas émise. Cette valeur pour imsRequestType est utilisée pour les applications qui soumettent des commandes IMS. |
3 | IMS_REQUEST_TYPE_MFS_ |
Cette valeur pour imsRequestType est réservée aux applications générées avec le support MFS de WebSphere Studio. Les sorties de transaction normales renvoyées par IMS, et les messages "DFS" sont utilisés pour renseigner le message de sortie de l'application. L'exception IMSDFSMessageException n'est pas émise. |
Valeur | Constante nommée dans IMSInteractionSpecProperties | Description |
---|---|---|
0 | SYNC_SEND | L'adaptateur de ressources IMS TM envoie la requête client à IMS via IMS Connect et n'attend pas de réponse d'IMS. Avec une interaction SYNC_SEND, le client n'a pas besoin de procéder à une synchronisation pour recevoir une réponse d'IMS. SYNC_SEND est pris en charge sur les connexions sockets persistantes partageables et dédiées et n'est autorisé qu'avec des interactions commitMode 0. Si interactionVerb est défini sur SYNC_SEND, le délai d'attente d'exécution et le délai d'attente du socket sont ignorés. Remarque : le type 2 de imsRequest n'est pas autorisé avec SYNC_SEND et génère une exception. |
1 | SYNC_SEND_RECEIVE | L'exécution d'une interaction IMS envoie une requête à IMS et reçoit une réponse synchronisée. Une interaction SYNC_SEND_RECEIVE classique est l'exécution d'une transaction IMS non conversationnelle dans laquelle un enregistrement d'entrée (le message d'entrée de la transaction IMS) est envoyé à IMS et un enregistrement de sortie (le message de sortie de la transaction IMS) est renvoyé par IMS. Les interactions SYNC_SEND_RECEIVE sont également utilisées pour les itérations d'une transaction IMS conversationnelle. Une transaction conversationnelle nécessite commitMode 1. Une transaction non conversationnelle peut fonctionner avec commitMode 1 ou commitMode 0. Si commitMode 0 est utilisé sur une connexion socket persistante dédié, une valeur doit être indiquée pour la propriété clientID de IMSConnectionSpec. Si commitMode 0 est utilisé sur une connexion socket persistante partageable, vous ne devez pas indiquer de valeur pour la propriété clientID de IMSConnectionSpec. |
3 | SYNC_END_CONVERSATION | Si l'application exécute une interaction avec interactionVerb défini sur
SYNC_END_CONVERSATION, l'adaptateur de ressources
IMS
TM envoie un message pour forcer l'arrêt d'une transaction
IMS
conversationnelle. La propriété IMSInteractionSpec, commitMode, et la propriété IMSConnectionSpec, clientID, ne s'appliquent pas lorsque SYNC_END_CONVERSATION est fourni pour interactionVerb. |
4 | SYNC_RECEIVE_ASYNCOUTPUT | L'instruction d'interaction (interactionVerb) SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT est valide à la fois
sur les connexions socket persistantes partageables et dédiées. SYNC_RECEIVE_ASYNCOUTPUT
permet d'extraire des sorties asynchrones qui n'ont pas été distribuées. Lorsque SYNC_RECEIVE_ASYNCOUTPUT est utilisé sur une connexion socket persistante dédiée, vous devez fournir une valeur pour la propriété clientID de IMSConnectionSpec. Une interaction SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT sur une connexion socket persistante partageable doit se trouver dans la même application que l'interaction SYNC_SEND or SYNC_SEND_RECEIVE d'origine et doit utiliser la même connexion socket persistante partageable. Cette situation se produit généralement après un délai d'attente d'exécution. Avec ce type d'interaction, le client Java ne peut recevoir qu'un seul message. S'il n'y a aucun message dans la file d'attente asynchrone IMS OTMA pour le clientID lorsque la requête est effectuée, aucune tentative supplémentaire d'extraction du message n'est effectuée. Aucun message n'est renvoyé et un dépassement du délai d'attente se produit après le délai spécifié dans la propriété executionTimeout de l'interaction SYNC_RECEIVE_ASYNCOUTPUT. |
5 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Une interaction
SYNC_RECEIVE_ASYNCOUTPUT_ Avec ce type d'interaction, le client
Java
ne peut recevoir qu'un seul message. S'il n'y a aucun message dans la file
d'attente asynchrone
IMS
OTMA pour le clientID lorsque la requête est effectuée, aucune tentative
supplémentaire d'extraction du message n'est effectuée. Aucun message n'est renvoyé et un dépassement du délai d'attente se produit
après l'expiration du délai spécifié dans la propriété executionTimeout de
l'interaction
SYNC_RECEIVE_ASYNCOUTPUT_ Remarque : les propriétés interactionVerb,
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT et
SYNC_RECEIVE_ASYNCOUTPUT_ SYNC_RECEIVE_ASYNCOUTPUT_ |
6 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Une interaction
SYNC_RECEIVE_ASYNCOUTPUT_ Avec ce type d'interaction, le client
Java
ne peut recevoir qu'un seul message. S'il n'y a aucun message dans la file
d'attente asynchrone
IMS OTMA pour le clientID lorsque la requête est effectuée, IMS Connect attend qu'OTMA renvoie un message. IMS Connect
attend la durée définie dans la propriété executionTimeout de l'interaction
SYNC_RECEIVE_ASYNCOUTPUT_ |
La valeur SYNC_RECEIVE (2) de l'architecture JCA (J2EE Connection Architecture) n'est actuellement pas prise en charge.
La valeur de cette propriété peut être définie si l'application client veut indiquer un nom LTERM de remplacement. Ce nom sera celui indiqué dans le bloc de communication d'entrée-sortie du programme d'application IMS, afin que l'application IMS prenne des décisions logiques en fonction de la valeur de remplacement.
La valeur de cette propriété peut être définie si l'application client veut indiquer un nom LTERM de remplacement. Ce nom sera celui indiqué dans le bloc de communication d'entrée-sortie du programme d'application IMS, afin que l'application IMS prenne des décisions logiques en fonction de la valeur de remplacement.
En entrée, la valeur de la propriété mapName est généralement le nom d'un descripteur MOD (Message Output Descriptor) MFS. Le nom MOD sera fourni au programme d'application IMS dans le bloc de communication d'entrée-sortie.
En sortie, la valeur de la propriété mapName est le nom d'un descripteur MOD (Message Output Descriptor) MFS. Il s'agit du nom MOD que le programme d'application IMS a spécifié lors de l'insertion du message de sortie de la transaction dans le bloc de communication.
Remarque : La zone mapName ne doit pas être utilisée par des applications Java qui utilisent un service d'entreprise dont les messages d'entrée et de sortie sont générés par le support MFS WebSphere Studio.
En entrée, la valeur de la propriété mapName est généralement le nom d'un descripteur MOD (Message Output Descriptor) MFS. Le nom MOD sera fourni au programme d'application IMS dans le bloc de communication d'entrée-sortie.
En sortie, la valeur de la propriété mapName est le nom d'un descripteur MOD (Message Output Descriptor) MFS. Il s'agit du nom MOD que le programme d'application IMS a spécifié lors de l'insertion du message de sortie de la transaction dans le bloc de communication.
La zone mapName ne doit pas être utilisée par des applications Java qui utilisent un service d'entreprise dont les messages d'entrée et de sortie sont générés par la prise en charge MFS de WebSphere Studio.
Cette propriété n'est valide que pour les interactions sur des connexions socket persistantes partageables utilisant la commande d'interaction IMS SYNC_SEND_RECEIVE. Elle n'est pas valide pour des connexions sockets persistantes dédiées. Elle s'applique aux interactions en mode de validation 0 mais pas aux interactions en mode de validation 1. Cependant, si une interaction en mode de validation 1 exécute un basculement programme à programme, le programme généré exécutera le mode de validation 0 et la propriété pourra donc s'appliquer.
Cette propriété n'est valide que pour les interactions sur des connexions socket persistantes partageables utilisant la commande d'interaction IMS SYNC_SEND_RECEIVE. Elle n'est pas valide pour des connexions sockets persistantes dédiées. Elle s'applique aux interactions en mode de validation 0 mais pas aux interactions en mode de validation 1. Cependant, si une interaction en mode de validation 1 exécute un basculement programme à programme, le programme généré exécutera le mode de validation 0 et la propriété pourra donc s'appliquer. Cette propriété détermine si les sorties non distribuées sont redirigées vers une destination nommée spécifiée dans la zone reRouteName. Si reRoute est TRUE, la sortie asynchrone n'est pas mise en file d'attente dans le TPIPE du clientID généré mais mise en file d'attente à l'emplacement spécifié dans la zone reRouteName. La valeur par défaut de reRoute est FALSE.
Si les propriétés reRoute et purgeAsyncOutput sont toutes les deux définies sur TRUE, une exception est émise.
La propriété, reRouteName, n'est valide que pour les interactions sur des connexions sockets persistantes partageables. Elle n'est pas valide pour des connexions sockets persistantes dédiées.