Opret EJB-sessions-beans

Du kan bruge en guide til at oprette en sessions-bean og tilføje den til et projekt.

Guiden Sessions-bean er en hjælp, når du skal oprette en Enterprise-sessions-bean, fordi du bliver ført trinvist gennem oprettelsesprocessen og får stillet outputfiler til rådighed, som du kan bruge eller revidere, før du bruger dem sammen med dit webprogram.

Sådan oprettes en sessions-bean:

  1. Udvid dit EJB-projekt fra Java™ EE-perspektivet i oversigten Project Explorer.
  2. Højreklik på ikonen Sessions-bean, og vælg Ny > Sessions-bean på menuen. Guiden Opret sessions-bean vises.
  3. Følg anvisningerne i projektguiden.

Generelle oplysninger

Tilstandstype
Der er tre typer sessions-beans: stateless, stateful og singleton.
Stateless sessions-beans
En stateless sessions-bean er en samling af relaterede serviceprogrammer, der alle er repræsenteret af en metode. Bean'en bevarer den manglende tilstand fra ét metodekald til det næste. Når du starter en metode i en stateless sessions-bean, udfører den metoden og returnerer resultatet uden at vide eller bekymre sig om, hvilke andre anmodninger der har været eller følger efter. Stateless sessions-beans har længere levetid, da de ikke opretholder nogen konversationstilstand.
Stateful sessions-beans
En stateful sessions-bean udfører opgaver på vegne af en klient og bevarer tilstanden i relation til denne klient. Denne tilstand kaldes for konversationstilstand, fordi den repræsenterer en fortsat konversation mellem en stateful sessions-bean og klienten. Metoder, der startes i en stateful sessions-bean, kan skrive og læse data til og fra denne konversationstilstand, som deles blandt alle metoder i bean'en. Stateful sessions-beans har tidsfristperioder.
Singleton sessions-beans
En Singleton sessions-bean er en sessions-bean-komponent, der instantieres én gang pr. program. I tilfælde hvor opbevaringsstedet distribueres over mange viruelle maskiner, har hvert program én bean-forekomst af Singleton for hver JVM. Når en Singleton sessions-bean er instantieret, eksisterer den, så længe det program, den er oprettet i, kører. Den opretholder sin tilstand mellem klientkald, men tilstanden er ikke påkrævet for at overleve lukning eller nedbrud af opbevaringsstedet. Det er hensigten, at en Singleton sessions-bean skal deles, og den understøtter samtidig adgang.
Virksomhedsgrænseflade
En virksomhedsgrænseflade for en sessions-bean er en almindelig Java-grænseflade, der indeholder virksomhedsmetoderne for bean'en. En reference til en sessions-beans virksomhedsgrænseflade kan overføres som en parameter eller som en returværdi for en virksomhedsgrænseflademetode. Den indeholder metoder til at initialisere en sessions-beans tilstand og til at give EJB-opbevaringsstedet besked, når referencen ikke længere behøves og kan fjernes. Der er flere tilgængelige muligheder:
Ekstern virksomhedsgrænseflade:
Klienten kan afvikles på en anden maskine eller en anden JVM end den Enterprise-bean, den opretter adgang til, og placeringen af bean'en er transparent.
Lokal virksomhedsgrænseflade:
Klienten skal afvikles på den samme JVM som den bean, den opretter adgang til, og placeringen af Enterprise-bean'en er ikke transparent.
Ingen grænseflade:
Dette er en variation af den lokale oversigt, der viser de offentlige metoder i den pågældende bean-klasse uden brug af en separat virksomhedsgrænseflade.
Tilknyttet navn
Angiver bean'ens globale JNDI-navn. Når du bruger attributten mappedName, kan du tildele navne, som du kan bruge til at søge efter EJB-bean'en gennem den eksterne klient.
Transaktionstype
Feltet Transaktionstype bruges til at angive, om transaktionen håndteres af opbevaringsstedet eller Bean'en.
Private grænseflader og komponentgrænseflader
Private grænseflader og komponentgrænseflader bruges kun til EJB 2.x-sessions-beans.
Privat grænseflade:
Den private grænseflade giver en klient mulighed for at oprette, fjerne og finde eksisterende forekomster af Enterprise-beans.
Komponentgrænseflade:
Komponentgrænsefladen giver en klient mulighed for at få adgang til virksomhedsmetoderne i Enterprise-bean'en.