Disponibilité d'une messagerie remédiable transactionnelle via WS-ReliableMessaging
Si votre application WS-ReliableMessaging s'exécute dans le conteneur web et utilise une qualité de service gérée, vous pouvez employer WS-ReliableMessaging pour fournir une messagerie remédiable transactionnelle.
Pourquoi et quand exécuter cette tâche
- Du côté du demandeur de services Web, la transaction s'effectue entre l'application et le magasin géré local.
- Le protocole WS-ReliableMessaging distribue le message au côté du fournisseur du service Web, où une autre transaction est employée entre le second magasin géré et l'application répartie.
Dans le cas du demandeur (sortie) pour un envoi de message unidirectionnel, si la propriété enableTransactionalOneWay a la valeur true, l'envoi a lieu dans le contexte transactionnel en cours de l'unité d'exécution de l'application. (Les transactions ne sont pas prises en charge dans le cadre d'un échange de messages bidirectionnel sortant).
Dans le cas du fournisseur (entrée), si la propriété inOrderDelivery a la valeur true, un message entrant est réparti à l'application sous une transaction. Dans le cas d'un échange de messages bidirectionnel entrant, la réponse est également générée sous cette transaction et n'est pas envoyée tant que la transaction n'est pas validée.
- WS-AtomicTransactions et WS-ReliableMessaging sont mutuellement exclusifs lorsque WS-ReliableMessaging est utilisé, avec un magasin géré, pour fournir une messagerie récupérable transactionnelle.
- Si WS-ReliableMessaging est configuré pour utiliser un magasin en mémoire, dans certaines situations une transaction WS-AtomicTransaction peut être transférée d'une source de messagerie fiable vers la destination de messagerie fiable pour les appels bi-directionnels. Dans ce cas, WS-ReliableMessaging vous protège uniquement des erreurs réseau et non des erreurs de serveur.
Pour fournir une messagerie remédiable transactionnelle via WS-ReliableMessaging, suivez les étapes décrites dans Ajout de la garantie de distribution aux services Web via WS-ReliableMessaging, ainsi que celles ci-après :
Procédure
- Pour activer une messagerie transactionnelle pour les envois de messages unidirectionnels sortants (demandeur), au moment de développer votre application de services Web JAX-WS, définissez la propriété enableTransactionalOneWay comme Boolean.TRUE (ou la chaîne true) dans la mappe de contexte de demande jaxWS.
- Pour activer une messagerie transactionnelle pour les échanges de messages bidirectionnels entrants (fournisseur), lorsque vous configurez votre règle WS-ReliableMessaging, utilisez la console d'administration pour sélectionner l'option Distribuer les messages dans l'ordre dans lequel ils ont été envoyés ou l'outil wsadmin pour attribuer à la propriété inOrderDelivery la valeur true.