30.01.2015 Views

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!