Introduction
Ces instructions portent sur la conception des beans gérés par message. Des conseils supplémentaires concernant entre
autres l'identification et la modélisation des beans gérés par message figurent dans Instructions relatives au produit : Beans gérés par message. Des conseils généraux
sur les EJB figurent dans Instructions relatives au produit : Enterprise JavaBeans (EJB).
Remarque : les beans gérés par message étant appelés indirectement par le biais de messages et non directement par le
biais des opérations d'interface, leur conception exige donc d'élaborer un format de message et de décrire le
comportement en réponse aux messages et non d'élaborer des opérations d'interface.
Un des inconvénients à passer par les messages est que le fournisseur du message et le consommateur (en l'occurrence le
bean géré par message) ne peuvent pas participer à la même transaction. Le fournisseur peut utiliser une transaction
pour placer le message dans la file d'attente et le bean géré par message peut utiliser une autre transaction pour
valider l'utilisation du message. Les transactions doivent toujours être distinctes.
Les beans gérés par message peuvent utiliser les transactions gérées par le bean ou les transactions gérées par
conteneur. Les transactions gérées par conteneur sont généralement plus simples et constituent donc l'approche à
privilégier. Voir Technique : Conception des Enterprise JavaBeans (EJB) pour plus d'informations.
Chaque bean géré par message est une classe active pouvant avoir des instances multiples. L'instance de chaque bean
géré par message s'exécutant simultanément, le traitement d'un message reçu par une instance doit être terminé avant,
ou après, qu'un autre message soit traité par une autre instance.
Les messages peuvent donc être consommés dans un ordre différent de celui dans lequel ils ont été produits. Cette
possibilité doit être prise en compte lors de la conception des beans gérés par message.
|