programmera.net -> ejb -> normal för utskrift | info@programmera.net |
Livscykeln för en tillståndslös sessionsböna
1. Livcykel 2. Hur skapas en instans? 3. ejbSetSessionContext() 4. ejbCreate() 5. ejbRemove() |
1. Livcykel
På denna sida går vi igenom bönans olika tillstånd och de "callback"-metoder som behållaren aropar på instansen då instansen går från ett tillstånd till ett annat. En tillståndslös sessionsböna har en ganska enkel livscykel som beskrivs enligt bilden nedan:
De olika tillstånden beskrivs nedan:
2. Hur skapas en instans?
Trots att klienten kan anropa create() och remove() på "Home"-gränssnittet har detta inget att göra med när instansen faktiskt skapas i behållaren. Då servern startas skapar behållaren själv upp ett antal instanser av den tillståndslösa sessionsbönan och placerar dessa i en pool. Servern bestämmer hur många instanser som ska vara i poolen. När behållaren tycker att fler instanser behövs kommer fler att skapas upp. När en tillståndslös sessionsböna instansieras sker följande:
3. ejbSetSessionContext()
Anropas av behållaren i samband med att bönan initieras. I denna metod ska du se till att instansen lagrar SessionContext någonstans, vanligtvis i en medlemsvariabel:
Nu kan du komma åt alla metoder som exponeras i SessionContext via medlemmen "context".
public void setSessionContext(SessionContext ctx){
// Save the context
this.context = ctx;
}
4. ejbCreate()
Anropas av behållaren efter att bönan initieras.
5. ejbRemove()
Behållaren har rätt att minska antalet instanser i poolen. ejbRemove() anropas av behållaren precis innan instansen förstörs. I följande fall kan en instans förstöras utan att ejbRemove() kommer att anropas: