Instructions: Conception de beans gérés par message
Ces instructions portent sur la conception de beans gérés par message d'une application J2EE.
Relations
Eléments connexes
Description principale

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.

Transactions

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.

Ordre des messages

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.