Exemple d'application Java non-MDB permettant de récupérer et de traiter des demandes d'appel synchrones

Pour préparer une application Java™ à recevoir les demandes entrantes d'un programme d'application IMS, spécifiez l'instruction d'interaction appropriée, le nom du tpipe et la valeur du délai d'expiration dans l'application Java.
// la recherche JNDI renvoie connFactory
InitialContext initCntx = new InitialContext();
ConnectionFactory connFactory = 
(ConnectionFactory) initCntx.lookup(“java:comp/env/ibm/ims/IMSTarget”); 

IMSConnectionSpec connSpec = new IMSConnectionSpec();
Connection connection = connFactory.getConnection(connSpec);
Interaction interaction = connection.createInteraction(); 
IMSInteractionSpec interactionSpec = new IMSInteractionSpec(); 

//définir le mode de validation et le niveau de synchronisation 
interactionSpec.setCommitMode(IMSInteractionSpec.COMMIT_THEN_SEND); 
interactionSpec.setSyncLevel(IMSInteractionSpec.SYNC_LEVEL_CONFIRM);

// Nom de 8 caractères de la file de stockage temporaire asynchrone OTMA 
// dans laquelle les messages doivent être récupérés
String calloutQueueName = new String (“CALLOUTQ”);
// Définir le nom de file d'attente pour le message d'appel
interactionSpec.setAltClientID(calloutQueueName);
 
// Définir l'instruction d'interaction pour extraire la demande d'appel avec un délai d'attente
interactionSpec.setInteractionVerb(IMSInteractionSpec.SYNC_RECEIVE_CALLOUT);
// Demander à extraire seulement les messages de demande d'appel synchrones
interactionSpec.setCalloutRequestType(IMSInteractionSpec.CALLOUT_REQUEST_SYNC); 
interactionSpec.setExecutionTimeout(5000);


// Exécuter l'interaction
interaction.execute(interactionSpec, null, calloutRequestMsg); 

// Obtenir le jeton de corrélation
byte[] corrToken = interactionSpec.getSyncCalloutCorrelationToken();

// Autre traitement de la demande (calloutRequestMsg)
:

// Renvoyer la réponse (calloutRespondMsg) en utilisant l'instruction d'interaction SYNC_SEND
interactionSpec.setInteractionVerb(com.ibm.connector2.ims.ico.IMSInteractionSpec.SYNC_SEND);
// SYNC_SEND ne prend pas en charge un ID client alternatif
interactionSpec.setAltClientID(null);  
interactionSpec.setSyncCalloutCorrelationToken(corrToken);

// Exécuter l'interaction
interaction.execute(interactionSpec, calloutRespondMsg, null); 

interaction.close(); 
connection.close();

Pour un exemple de code complet, cliquez ici avec le bouton droit et sélectionnez Enregistrer le lien sous (dans FireFox) ou Enregistrer la cible sous (dans Microsoft Internet Explorer) pour télécharger le fichier d'exemple Java.


Vos commentaires