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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Un bean session pour faire vos courses<br />

L’expert Enterprise JavaBean ajoute les quatre métho<strong>des</strong> suivantes. Dans<br />

la méthode setSessionContext(), l’expert assigne la valeur du paramètre<br />

contexte à la variable d’instance sessionContext.<br />

Le conteneur du bean appelle la méthode setSessionContext() pour<br />

associer l’instance du bean à son contexte de session. Le bean peut choisir<br />

de retenir la référence au contexte de session comme partie de son état<br />

conversationnel, mais il n’est pas obligé de le faire. Si vous avez utilisé<br />

l’expert Enterprise JavaBean, la référence au contexte de session est<br />

retenue. Le bean session peut utiliser le contexte de session pour obtenir<br />

<strong>des</strong> informations sur lui-même, comme ses variables d’environnement ou<br />

son interface locale.<br />

Le conteneur appelle la méthode ejbPassivate() sur l’instance du bean<br />

lorsqu’il a besoin de placer l’instance du bean dans un état passif.<br />

Lorsqu’il désactive le bean, le conteneur écrit l’état en cours de celui-ci<br />

dans une zone de stockage secondaire. Il restaure cet état lorsqu’il réactive<br />

le bean ultérieurement. Comme le conteneur appelle la méthode<br />

ejbPassivate() juste avant de désactiver l’instance du bean, en tant que<br />

fournisseur du bean, vous pouvez ajouter du code à cette méthode pour<br />

mettre en cache n’importe quelle variable spéciale. De même, le conteneur<br />

appelle la méthode ejbActivate() sur l’instance du bean juste avant de la<br />

faire passer de l’état passif à l’état actif. Lorsqu’il réactive le bean, il<br />

restaure toutes les valeurs d’état préservées. Vous pouvez choisir<br />

d’ajouter du code à la méthode ejbActivate(). CartBean laisse vi<strong>des</strong> ces<br />

implémentations.<br />

Alors qu’un bean session n’est pas obligé d’implémenter un constructeur,<br />

il doit implémenter au moins une méthode ejbCreate(). Cette méthode sert<br />

de constructeur pour créer une nouvelle instance du bean. Une session<br />

stateful peut implémenter plus d’une méthode ejbCreate(). Chaque<br />

méthode ejbCreate() ne se distingue que par ses paramètres.<br />

L’exemple CartBean déclare une méthode ejbCreate() qui prend trois<br />

paramètres :<br />

public void ejbCreate(String cardHolderName, String creditCardNumber,<br />

Date expirationDate) throws CreateException {<br />

_cardHolderName = cardHolderName;<br />

_creditCardNumber = creditCardNumber;<br />

}<br />

Le conteneur appelle la méthode ejbRemove() juste avant de supprimer<br />

l’instance du bean. Vous pouvez ajouter du code spécifique à l’application<br />

qui s’exécuterait avant la suppression du bean, mais ce n’est pas<br />

obligatoire. L’exemple CartBean laisse vide le corps de la méthode<br />

ejbRemove().<br />

9-12 Guide du dé veloppeur Enterprise JavaBeans

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

Saved successfully!

Ooh no, something went wrong!