Ordre strict des messages en utilisant les spécifications d'activation ou les ports d'écoute ASF connectés à WebSphere MQ Version 7.x
L'ordre strict des messages peut être obtenu lors du déploiement des applications de bean géré par message dans le fournisseur de messagerie WebSphere MQ lorsque aucune fonction spéciale n'est codée dans l'application pour gérer les messages qui n'arrivent pas dans l'ordre.
Les ports d'écoute sont stabilisés à partir de la version 7 et des versions ultérieures de WebSphere Application Server. Pour plus d'informations, lisez l'article sur les fonctions stabilisées. Vous devez vous préparer à faire migrer vos
configurations de déploiement de bean géré par message WebSphere MQ depuis l'utilisation des ports d'écoute vers l'utilisation des
spécifications d'activation. Pour plus d'informations sur la configuration des spécifications d'activation du mode non-ASF, voir Configuration de spécifications d'activation du mode non-ASF. Toutefois, ne commencez pas cette migration si vous pensez que l'application a encore besoin d'utiliser des serveurs d'applications antérieurs à WebSphere Application Server Version 7. Par exemple, si vous disposez d'un cluster de serveurs d'applications dont certains membres sont à la version 6.1 et d'autres à une version ultérieure, vous ne devez pas migrer les applications de ce cluster pour qu'elles utilisent les spécifications d'activation avant d'avoir migré tous les serveurs d'applications du cluster vers la version ultérieure.
- L'application de bean géré par message (MDB) est transactionnelle.
- Le seuil d'annulation (BOTHRESH) dans la file d'attente WebSphere MQ a la valeur 0.
- Vous utilisez WebSphere MQ Version 7.0 ou ultérieure.
Configuration WebSphere Application Server pour la distribution ordonnée
- Le gestionnaire de files d'attente WebSphere MQ doit fonctionner sur WebSphere MQ Version 7.0 ou ultérieure.
- La connexion au gestionnaire de files d'attente doit utiliser le mode normal du fournisseur de messagerie WebSphere MQ. Voir la rubrique Règles de sélection du mode du fournisseur de messagerie WebSphere MQ dans le centre de documentation WebSphere MQ.
- Si vous utilisez des ports d'écoute, le nombre maximal de sessions sur les ports d'écoute dans WebSphere Application Server doit être égal à 1.
- Si vous utilisez des spécifications d'activation, le nombre maximal de sessions de serveur dans les spécifications d'activation dans WebSphere Application Server doit égal à 1.
Informations importantes sur cette configuration
- Les ports d'écoute ASF et les spécifications d'activation WebSphere MQ contiennent deux parties distinctes qui distribuent conjointement les messages. Ces deux parties sont considérées correspondre à des applications distinctes pour le gestionnaire de files d'attente :
- La première partie détecte les messages lorsqu'ils arrivent, mais elle ne les consomme pas. Elle les envoie à la seconde partie.
- La seconde partie est un pool de sessions de serveur qui alloue une unité d'exécution pour traiter le message dans la transaction de l'application et le distribuer à la méthode onMessage() du bean MDB.
- A partir de la version 7.0, WebSphere MQ fournit un modèle d'envoi (push) pour détecter les messages, qui est plus efficace que le modèle d'interrogation des versions précédentes de WebSphere MQ, et ordonne plus efficacement les messages dans des conditions de fonctionnement normales.
Cas dans lesquels les messages peuvent être distribués dans le désordre
Les messages peuvent être distribués dans le désordre avec cette configuration dans les cas suivants :
Considérations pour un déploiement en cluster
- Vous devez activer le bean MDB sur un membre du cluster uniquement, car le serveur d'applications ne dispose pas d'une fonction qui peut gérer cette activation automatiquement.
- Vous pouvez définir l'état de démarrage des ports d'écoute sur Arrêté indépendamment de l'état de démarrage d'une application.
- Vous pouvez démarrer et arrêter manuellement les applications, les ports d'écoute ASF et les noeuds finaux de message avec des interfaces MBean en utilisant le scriptage wsadmin ou les interfaces com.ibm.websphere.management.AdminClient depuis le code Java™.