Pour que l'application client gère toutes les itérations dans une conversation, la propriété useConvID de la classe IMSInteractionSpec doit être définie à true.
Pourquoi et quand exécuter cette tâche
Pour activer votre client Java pour des transactions conversationnelles IMS à l'aide du modèle de programmation d'état de conversation géré par le client :
Procédure
- Obtenez un descripteur de connexion auprès de l'objet IMSConnectionFactory.
Dans ce modèle de programmation, vous pouvez utiliser le
même descripteur de connexion ou des descripteurs de connexion différents
dans les itérations suivantes. Ces descripteurs de connexion doivent provenir
de la même instance d'IMSConnectionFactory .
- Définissez la propriété useConvID d'IMSInteractionSpec à true. Cette propriété doit conserver la valeur true pour toutes les
itérations de la conversation. Si l'indicateur useConvID change pendant une conversation, une erreur se produit.
- Définissez la propriété commitMode d'IMSInteractionSpec à 1.
- Définissez une valeur appropriée pour la propriété syncLevel en
fonction de la conception de votre application.
- Dans la première itération, définissez la valeur de la propriété convID d'IMSInteractionSpec à une chaîne vide.
- Dans toutes les itérations autres que la première, définissez la valeur de
la propriété convID sur la valeur de la propriété
convID qui est renvoyée dans l'itération précédente.
- Si l'application client contrôle la fin d'une conversation, dans la
dernière itération, définissez la propriété interactionVerb d'IMSInteractionSpec à SYNC_END_CONVERSATION.
Recommandation : Avec le modèle de programmation de l'état de conversation géré
par le client, utilisez des références locales par demande dans votre application client ou votre servlet au lieu de références concernant toute
l'application.
Cette approche a pour but d'éviter des conditions
d'indétermination qui peuvent se produire dans l'application client suite à des
contraintes ou des charges susceptibles de violer l'intégrité des données
conversationnelles. Si l'application client s'exécute dans un navigateur, vous
devez concevoir avec soin la navigation afin que la demande conversationnelle
ne soit pas resoumise par erreur.
Ce scénario peut se produire si l'utilisateur appuie sur le bouton Précédent
dans le navigateur, ce qui a pour effet de resoumettre la demande
conversationnelle et crée par conséquent une conversation supplémentaire.