Maintien d'un ordre strict des messages pour les destinations de bus

L'ordre des messages doit être maintenu en toute circonstance, mais une destination peut être configurée de sorte que l'ordre des messages soit conservé de façon bien plus rigoureuse que pour une destination normale.

En général, les messages générés par un seul producteur pour une destination unique sont visibles par un destinataire sur cette destination suivant l'ordre dans lequel ils ont été générés. Toutefois, certains événements et topologies, tels que les pannes système, peuvent modifier l'ordre des messages (voir Ordre des messages pour plus de détails). Si le maintien de l'ordre strict des messages est essentiel, vous pouvez configurer une destination de sorte que cet ordre soit conservé de façon beaucoup plus rigoureuse. L'utilisation conjointe d'un ordre strict des messages et de topologies restreintes (comme décrit ultérieurement dans cette section) permet de maintenir l'ordre des messages en toute circonstance.

Restrictions appliquées automatiquement

Si vous incluez une destination strictement ordonnée dans votre système, certaines restrictions s'appliquent automatiquement lors de l'exécution. Pour maintenir l'ordre des messages, ces restrictions influent sur l'interaction des applications avec la destination. Veillez à prendre pleinement connaissance de ces restrictions avant de configurer une destination pour un maintien strict de l'ordre des messages.
  1. Les destinataires ne peuvent pas se connecter simultanément à une destination ordonnée. Si plusieurs destinataires réceptionnent les messages d'une même destination, la réception risque de ne pas se faire dans l'ordre. Par conséquent, la connexion à une destination de file d'attente ordonnée ou à un espace de sujet ordonné n'est possible que pour un seul destinataire à la fois. Ceci revient à attribuer la valeur true à "receive exclusive" ("Réception exclusive") sur une destination de file d'attente et la valeur "never shared" ("Jamais partagé") à "Share durable subscriptions" ("Partager les abonnements durables") dans une fabrique de connexions de sujet JMS. En outre, des avertissements sont générés dans le journal système pour indiquer si ces options ont été remplacées. Le destinataire en question n'a droit qu'à une seule transaction à la fois. Ceci étant la norme pour de nombreuses interfaces de messagerie, peu d'utilisateurs seront affectés (par exemple JMS).
  2. La réception partielle des messages empêche la réception des messages suivants. Pour les destinations standard (c'est-à-dire celles dont l'option d'ordre strict n'est pas activée), les messages partiellement réceptionnés sur la destination (par exemple, les messages reçus dans le cadre d'une transaction non encore validée) peuvent être ignorés par le destinataire pour permettre la poursuite du traitement des messages. Ceci risque de perturber l'ordre des messages. Dans le cas d'une destination ordonnée, ces messages ne sont pas ignorés par le destinataire : celui-ci reste bloqué jusqu'à ce que le message soit totalement supprimé (par exemple lorsque la transaction est validée) ou remplacé (par exemple, la transaction non validée est annulée). Cette situation se présente si un destinataire précédemment connecté ne parvient pas à valider la transaction utilisée pour réceptionner les messages d'une destination, ou si une ressource transactionnelle est temporairement indisponible au cours de la validation d'une transaction. Si la ressource est indisponible de façon permanente, voir Résolution de transactions en attente de validation pour obtenir des informations sur la résolution de ces transactions.
  3. Restrictions concernant les beans gérés par message simultanés. Pour un bean géré par message et déployé sur une destination ordonnée, le nombre maximum de noeuds finaux simultanés et la taille maximum des lots sont ramenés à 1. Pour plus d'informations, voir Spécification d'activation JMS [Paramètres]. Ceci permet le traitement ordonné des messages par le bean géré par message. Si le système ignore cette propriété en cours d'exécution, un message d'avertissement est généré dans le journal système.
  4. Restrictions concernant les médiations simultanées. Le paramètre permettant les médiations simultanées sur une destination ordonnée est ignoré et la valeur false prévaut. Pour plus d'informations, voir Médiations simultanées. Ceci permet le traitement ordonné des messages par la médiation. Si le système ignore cette propriété en cours d'exécution, un message d'avertissement est généré dans le journal système.
  5. Si le paramètre Arrêt automatique des noeuds finaux sur l'échec répété des messages est activé, la valeur du paramètre Seuil des messages d'échec séquentiel est remplacée par 1.
  6. Effet de l'activation de la conservation de l'ordre strict des messages sur une destination de sujet existante. Si la conservation stricte de l'ordre des messages est activée sur une destination de sujet existante, tout abonnement durable existant associé aux messages devient invalide. Lorsque la conservation stricte de l'ordre des messages est activée et que l'environnement est redémarré, les abonnements durables existants sont supprimées et recréés ; les messages associés aux souscriptions sont également supprimés.

Autres restrictions pouvant affecter l'ordre des messages

Même si l'option d'ordre strict des messages est activée sur une destination, les restrictions suivantes ne s'appliquent pas automatiquement, mais peuvent affecter l'ordre des messages. Elles doivent donc être prises en compte :
  • Si une destination est configurée avec une destination d'exception, en cas d'incident (par exemple, le nombre maximum d'échecs de transmission est atteint) les messages destinés à cette destination peuvent être transmis à la destination de l'exception. Ce réacheminement pourrait être considéré comme une modification de l'ordre des messages, auquel cas, la destination devrait attribuer la valeur "none" à la destination de l'exception. Ce paramétrage a pour conséquence de maintenir les messages sur la destination et d'empêcher leur acheminement vers la destination de l'exception.
  • La modification de la topologie d'un bus d'intégration de services peut affecter l'ordre des messages. Par exemple, la suppression et la re-création d'une destination ordonnée doivent être considérées comme deux destinations distinctes sur lesquelles l'ordre des messages ne peut pas être garanti.
  • L'introduction ou le retrait d'une médiation peut affecter l'ordre des messages. En cas de médiation ou de suppression de la médiation d'une destination alors que des messages circulent vers et via la destination, l'ordre des messages n'est pas nécessairement conservé.
  • Les médiations peuvent être conçues de façon à affecter délibérément l'ordre des messages, par conséquent, la modification de la médiation peut directement affecter l'ordre des messages. Vous pourriez, par exemple, introduire une médiation qui réordonne les messages ou les achemine vers d'autres destinations.
  • Les destinations d'alias et les destinations externes ne comportent pas d'option permettant de maintenir un ordre de messages strict. Dans chaque cas, seule la destination sous-jacente peut être ordonnée.
  • Si une destination de file d'attente est déployée vers un membre de bus de cluster doté de plusieurs moteurs de messagerie, ce qui signifie que la destination compte plusieurs points de file d'attente ou points de médiation, l'ordre des messages ne peut pas être maintenu sur la destination. Par conséquent, l'activation d'un ordre de messages strict sur une telle destination ne garantit pas le maintien de l'ordre des messages. La configuration de l'affinité des messages permet d'envoyer des ensembles de messages au même point de file d'attente pour qu'ils soient traités dans l'ordre par un client unique. L'affinité des messages a un impact sur les performances car la charge des messages n'est plus équilibrée entre plusieurs points de file d'attente.
    Important : Le système ne vous empêche pas d'utiliser des destinations partitionnées. C'est à vous de faire en sorte que celles-ci ne soient pas utilisées dans le système.
  • Les messages dotés d'une autre fiabilité que "Assuré persistant" risquent, dans certains cas, d'être perdus ou dupliqués. Pour plus d'informations, voir Niveaux de fiabilité des messages - Mode de livraison JMS et qualité de service de l'intégration de services. Si cette situation est susceptible de perturber l'ordre des messages, seuls les messages dotés de la fiabilité "Assuré persistant" doivent être utilisés avec une destination strictement ordonnée.
  • L'ordre des messages est assuré au sein d'une même priorité de messages. Il est nécessaire de noter que les messages dotés de priorités différentes peuvent passer avant des messages de priorité inférieure.
  • L'ordre des messages est assuré au sein d'une même fiabilité de message. Il est nécessaire de noter que les messages dotés d'une certaine fiabilité peuvent passer avant des messages de fiabilité différente.
  • Bien qu'il ne soit pas possible à plusieurs destinataires de se connecter à une destination ordonnée, plusieurs fournisseurs peuvent être utilisés pour envoyer des messages aux destinations ordonnées. L'ordre des messages n'est pas maintenu pour plusieurs fournisseurs car les messages apparaissent sur la destination selon l'ordre dans lequel les transactions d'envoi sont validées.
  • Le code d'application peut contenir une logique susceptible de perturber l'ordre des messages.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjo_message_order_
Nom du fichier : cjo_message_order_.html