Principes et conseils : Concevoir les beans pilotés par message
Rubriques
Introduction
Ces conseils sont axés sur la conception de beans pilotés par message. Pour plus de conseils sur les beans pilotés par message, comme la manière de les identifier et de les modéliser, voir Principes et conseils : Beans pilotés par message. Des conseils généraux sur les EJB sont fournis dans Principes et conseils : Enterprise JavaBeans.
Notez que dans la mesure où les beans pilotés par message sont appelés directement par les messages, plutôt que directement par des opérations d'interface, leur conception implique d'élaborer le format de message et de décrire les comportements en réponse aux messages et non d'élaborer les opérations d'interfaces.
Une limite de l'utilisation de la messagerie réside dans le fait que le producteur d'un message et son consommateur (le bean piloté par message) ne peuvent participer à la même transaction.
Le producteur peut utiliser une transaction pour mettre le message en file d'attente, et le bean piloté par message peut utiliser une transaction séparée pour archiver les résultats de la consommation du message, mais il doit toujours y avoir des transactions séparées.
Les beans pilotés par message peuvent utiliser des transactions commandées par bean ou par conteneur. Généralement, les transactions commandées par conteneur sont plus simples, et cette approche est donc recommandée. Voir Principes et conseils :
Concevoir les Enterprise JavaBeans (EJB) pour plus d'informations.
Chaque bean piloté par message est une classe active qui peut posséder des instances multiples.
Dans la mesure où chaque bean piloté par message est exécuté simultanément, le traitement d'un message reçu par une instance peut se terminer avant ou après un message traité par une autre instance.
Cela signifie que les messages peuvent être consommés dans un ordre différent de celui dans lequel ils ont été produits. La conception de beans pilotés par message doit prendre en compte cette possibilité.
|