-
Cycle de vie d'un EJB3
Salut tout le monde, je commence à me mettre aux EJB3 et j'aimerai savoir quel est leur cycle de vie? je dois réaliser un EJB faisant office d'interface entre une portlet et un serveur d'objets métiers qui a une interface CORBA.
En gros j'ai UN serveur qui offre une interface CORBA, DES portlets qui doivent accéder aux données du serveur. C'est mon EJB qui servira de lien entre les 2, mais je me demande quand initialiser la connexion CORBA avec le serveur. Existe-t-il une méthode de démarrage/d'initialisation d'un EJB? faut-il recréer la connexion à chaque appel d'une portlet? une seule fois pour chaque portlet?
Grâce aux quelques exemples j'ai pu réaliser un premier EJB mais aucun ne rentre en détail sur le cycle de vie.
ps : sinon pensez-vous que je devrais suivre une formation pour me lancer dans les EJB? ça fait maintenant 3 ans que je fais du java (avec très peu de J2EE), ça ne m'a pas l'air si complex, mais peut-être que je me trompe.
-
Bonjour,
Les EJB3 Statefull permettent de garder l'état des objets (sauvegarde d'informations : connection par exemple)
Il existe 3 états dans le cycle du vie :
- Inéxistant (pas encore instancié)
- Prêt (en conversation avec le client)
- Passivé (supprimé de la mémoire, il est en attente du même client : c'est statefull)
Après un timeout, l'EJB3 passe des état Prêt ou passivé vers Inéxistant.
Il exsite des méthodes exécutées par le conteneur lors de l'instanciation de l'EJB ou sa déstruction, ces méthodes sont annotées par :
@Postconstruct (passage de Inéxistant à Prêt)
@PreDestroy (Prêt à Inéxistant)
@PostActivate (Passivé à Prêt)
@PrePassivate (Prêt à Passive)
Donc, tu peux utiliser ces méthodes pour créer les connextions, les fermer ou autres.
J'espère que celà pourra t'aider à avancer, sinon je débute aussi en EJB3 et je peux te dire que si ta la possibilité d'avoir une formation (payée par l'entreprise :mrgreen: ) n'hésite pas 8-)
-
Merci beaucoup pour cette réponse très instructive.
Je vais pouvoir faire une première version de mon EJB :D
Je vais quand même essayer de voir pour la formation, je n'ai pas utilisé mon temps de formation en presque 2 ans de boîte. J'ai regardé et ça dure 5 jours chez valtech.