|
nu este plasata metoda ejbCreate() in interfata
javax.ejb.SessionBean.Trebuie oservat ca este necesara implementarea a cel
putin o metoda ejbCreate() in session bean pentru ca sa existe cel putin o
metoda de initializare a bean-ului.
Metoda ejbCreate() implementata in codul bean-ului trebuie sa
realizeze toate initializarile de care are acesta nevoie,ca de exemplu
setarea variabilelor membru cu valorile primite prni apelul metodei.Aceasta
reiese din exemplul 2.1
|Exemplu 2.1. O metoda ejbCreate |
|Import java.ejb.* ; |
| |
| |
|public class FirstBean implements SessionBean { |
|private int memberVariable ; |
|public void ejbCreate(int initailValue) { |
|this.memberVariable = initialValue ; |
|} |
|... |
|} |
Metodele de tipul ejbCreate() sunt invocate de container si niciodata
direct de clienti.Dar clientii trebuie sa dispuna de metode de atrmite
parametrii la metodele ejbCreate() fiindca ei sunt aceia care furnizeaza
valorile de initializare.
Interfata home este cea pe care o apeleaza clientii la initializarea bean-
ului.Din acest motiv,trebuie ca fiecare metoda de tipul ejbCreate() din
bean sa aiba un corespondent in interfata home.
De exemplu,daca in cadrul bean-ului este declarata metoda:
Public void ejbCreate() ( int I )
trebuie sa fie pusa in interfata Home urmatoarea metoda:
public void create ( int I )
Trebuie observat ca in interfata Home nu mai apare prefixul ,,ejb''.Cand
un cleint apeleaza metoda create(int I) asupra interfetei Home,parametrii
sunt pasati metodei ejbCreate() din bean.
Metoda ejbPassive este apelata de cantainer atunci cand sunt
instantiate prea multe bean-uri si apare pericolul de a a avea putine
resurse.Cand se ajunge in aceasta stare,containerul poate pasiva
(passivate) unele dintre bean-uri,in sensul ca le salveaza temporar intr-un
mediu de stocare,ca de exemplu o baza de date sau un sistem de
fisiere.Aceasta este posibila datorita faptului ca bean-urile
suntserializabile.Inainte de pasivizare,containerul apeleaza metoda
ejbPassivate () ,astfel anuntand bean-ul sa elibereze orice resurse sistem
pe care le detine,ca de exemplu socket-urisau conexiuni la baze de
date.Observati exemplul 2.2
|Exemplul 2.2. O metoda ejbPassive |
|Import java.ejb.* ; |
| |