des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
des enterprise beans - Département Informatique
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Un bean session pour faire vos courses<br />
Le client invoque la méthode create() pour demander un chariot et le<br />
conteneur en crée un particulier pour cet utilisateur. Le client peut utiliser<br />
son chariot de manière intermittente, mais le bean session reste actif pour<br />
ce client-là jusqu’à ce que l’utilisateur s’en aille et que l’instance du bean<br />
soit supprimée.<br />
Un bean session stateful maintient l’état entre les appels de métho<strong>des</strong>, que<br />
ces métho<strong>des</strong> soient ou non incluses dans le contexte d’une transaction.<br />
L’état, ce sont les données transportées par un objet bean. Les données<br />
restent associées à l’objet bean pour la durée de vie de l’objet. Lorsque la<br />
session est terminée, le conteneur efface l’état du bean session de la<br />
mémoire.<br />
La méthode create() suit les règles définies par les spécifications EJB : elle<br />
déclenche une exception remote RMI, java.rmi.RemoteException, et une<br />
exception create EJB, javax.ejb.CreateException. La signature de la<br />
méthode create() doit correspondre à celle de la méthode ejbCreate() de la<br />
classe du bean session quant au nombre et aux types <strong>des</strong> arguments. La<br />
valeur renvoyée par create() est une interface distante Cart. C’est que<br />
l’interface CartHome fonctionne comme une factory pour CartBean. (La<br />
valeur renvoyée par la méthode ejbCreate() correspondante dans la classe<br />
CartBean est void.)<br />
L’interface distante<br />
Le bean session Cart a une interface distante Cart qui étend l’interface<br />
EJBObject. EJBObject est l’interface de base de toutes les interfaces distantes.<br />
Elle définit les métho<strong>des</strong> vous permettant ce qui suit :<br />
• Obtenir les informations sur le bean session.<br />
Vous pouvez tester si l’objet bean est identique à un autre objet<br />
<strong>enterprise</strong> bean. (Vous pouvez aussi obtenir la clé primaire d’un bean<br />
entité, mais cela ne s’applique pas à un bean session.)<br />
• Obtenir une référence ou un handle sur le bean session.<br />
Vous pouvez obtenir une référence à l’interface locale du bean d’un<br />
handle de sérialisation sur l’instance du bean. Vous pouvez stocker le<br />
handle et le retrouver ultérieurement afin de l’utiliser pour retrouver<br />
votre référence à l’instance du bean.<br />
• Supprimer l’instance du bean.<br />
L’interface EJBObject définit la méthode remove() pour supprimer<br />
l’instance du bean.<br />
L’interface distante Cart définit <strong>des</strong> métho<strong>des</strong> métier, en plus d’hériter <strong>des</strong><br />
métho<strong>des</strong> de EJBObject. Ces métho<strong>des</strong> métier sont les métho<strong>des</strong><br />
implémentées dans la classe du bean session CartBean. L’interface distante<br />
Cart ne fait qu’exposer ces métho<strong>des</strong> aux clients. Un client ne peut appeler<br />
D é veloppement <strong>des</strong> <strong>beans</strong> session 9-17