, en stateful samling bean er en form for virksomhed, bean, der bevarer samtalen stat med en klient.en stateful samling bean, jf. dets navn bliver forbundet klient stat i sin omgang variabler.ejb beholder skaber en særskilt stateful samling bean til proces klients hver anmodning.så snart anmodningen anvendelsesområde er slut, statelful samling bean er ødelagt. efter er de skridt, der er nødvendige for at skabe en stateful ejb.,,, skabe en fjernbetjening, lokale grænseflade, at forretningsmetoder.,,, denne grænseflade bruges af de ejb klientprogram.,,, brug @ lokale anmærkning, hvis ejb klient er i samme miljø, hvor ejb samling bean er indsættes.,,, brug @ fjerntliggende anmærkning, hvis ejb klient i forskellige omgivelser, hvor ejb samling bean er indsættes.,,, skabe en stateful samling bean gennemførelse af ovennævnte grænseflade.,,, stateful anmærkning til at sige det. stateful bean.ejb beholder automatisk skaber de relevante sammensætninger eller grænseflader, der er nødvendige ved at læse denne anmærkning under indsættelsen.,,,, fjerntliggende interface, import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarystatefulsessionbeanremote (//add business metode erklæringer), stateful ejb, @ stateful offentlige klasse librarystatefulsessionbean gennemfører librarystatefulsessionbeanremote (//gennemføre forretninger metode), f.eks. anvendelse lad os skabe en test ejb ansøgning til test stateful ejb., stepdescription 1create et projekt med et navn, ejbcomponent under en pakke, com.tutorialspoint.stateful, som forklaret i den, ejb - skabe anvendelse, kapitel.du kan også bruge projektet skabt i, ejb - skabe anvendelse, kapitel som sådan i dette kapitel, til at forstå, stateful ejb begreber.2create, librarystatefulsessionbean.java, og librarystatefulsessionbeanremote, som forklaret i den, ejb - skabe anvendelse, kapitel.hold resten af filerne uændret.3clean og opbygge anvendelse for at sikre, at erhvervslivet logik er at arbejde som pr. kravene.4finally, anvende anvendelse i form af jar - fil på jboss applikationsserver.jboss applikationsserver vil starte automatisk, hvis det ikke er begyndt endnu.5now skabe ejb klient, en konsol baseret på anvendelse på samme måde som forklaret i, ejb - skabe anvendelse, kapitel under emne, skabe klient adgang til ejb,., ejbcomponent (ejb modul), librarystatefulsessionbeanremote.java, pakke com.tutorialspoint.stateful; import java.util.list; import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarystatefulsessionbeanremote {tomrum addbook (string - bookname) liste getbooks();}, librarystatefulsessionbean.java, pakke com.tutorialspoint.stateful; import java.util.arraylist; import java.util.list; import javax.ejb.stateful; @ stateful offentlige klasse librarystatefulsessionbean gennemfører librarystatefulsessionbeanremote (liste < snor > bogreol, offentlige librarystatefulsessionbean() {bogreol = nye arraylist < snor > c);} offentlige tomrum addbook (string - bookname) {boghylde. tilføje (bookname)}offentlig liste < snor > getbooks() {tilbage boghylde.}},,,,,,, så snart du indsætte ejbcomponent projekt om jboss, bemærker de jboss log.,,, jboss automatisk er skabt en jndi adgang til vores møde, bønne -, librarystatefulsessionbean /fjerntliggende,.,,, vi vil anvende denne lookup tråde for at få isolerede forretninger er genstand for type -, kom. tutorialspoint. stateful. librarystatefulsessionbeanremote,,,, jboss applikationsserver log produktion.16:30:01401 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarystatefulsessionbean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarystatefulsessionbean /remote-com.tutorialspoint.stateful.librarystatefulsessionbeanremote - ejb3. x fjerntliggende virksomheder grænseflade 16:30:02723 info [sessionspeccontainer] begynder jboss. j2ee tingelser [...]: jar jar navn = = ejbcomponent. librarystatefulsessionbean, service = ejb3 16:30:02723 info [ejbcontainer] begyndte ejb - com.tutorialspoint.stateful.librarystatefulsessionbeanremote ejbname: librarystatefulsessionbean 16:30:02731 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarystatefulsessionbean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder interface librarystatefulsessionbean /remote-com.tutorialspoint.stateful.librarystatefulsessionbeanremote - ejb3. x fjerntliggende virksomheder grænseflade., ejbtester (ejb klient), jndi.properties, java. navngivning. første = org.jnp.interfaces.namingcontextfactory java. navngivning. url. pkgs = org. jboss. navn: org.jnp.interfaces java. navngivning. udbyder. url = localhost, disse egenskaber bruges til at nulstille initialcontext objekt for java, at tjeneste,,, initialcontext objekt, vil blive anvendt til at lookup stateful samling bean,,, ejbtester.java, pakke com.tutorialspoint.test; import com.tutorialspoint.stateful.librarystatefulsessionbeanremote; import java.io.bufferedreader; import java.io.fileinputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.util.list; import java.util.properties; import javax.naming.initialcontext; import javax.naming.namingexception; pe offentlige klasse ejbtester {bufferedreader brconsolereader = null egenskaber rekvisitter. initialcontext ctx; (rekvisitter = nye properties(); prøve (rekvisitter. belastning (nye fileinputstream ("jndi. egenskaber")} fangst (ioexception ex) (ex. printstacktrace();} prøve (ctx = nye initialcontext (-);} fangst (namingexception ex) (ex. printstacktrace();} brconsolereader = nye bufferedreader (nye inputstreamreader (system. i)} offentlige statisk tomrum vigtigste (string [] args) (ejbtester ejbtester = nye ejbtester(); ejbtester. teststatelessejb();} private tomrum showgui() {system. println ("**********************");system. println ("velkommen til bog butikken"); system. println ("**********************"); system. tryk ("muligheder. n1.tilføj bog. n2.exit. nenter valg: ");} private tomrum teststatelessejb() (prøve (int valg = 1; librarystatefulsessionbeanremote librarybean = librarystatefulsessionbeanremote) ctx. lookup (" librarystatefulsessionbean /fjerntliggende "), mens (valg!= 2) {snor bookname; showgui(); snor strchoice = brconsolereader. readline(); valg = tal. parseint (strchoice); hvis (valg = = 1) (system. tryk ("enter bog hedder:"); bookname = brconsolereader. readline(); bog, bog = nye book(); bog. setname (bookname); librarybean. addbook (bog)} andre, hvis (valg = = 2) {pause.}} liste < bog > bookslist = librarybean. getbooks(); system. println ("bog (er), der er opført så vidt:" + bookslist. size()); int i = 0. for (bog, bog: bookslist) (system.out.println ((i + 1) + "."+ bog. getname()); jeg + +) librarystatefulsessionbeanremote librarybean1 = (librarystatefulsessionbeanremote) ctx. lookup ("librarystatefulsessionbean /fjerntliggende"); listen < snor > bookslist1 = librarybean1. getbooks(); system. println ("* * * ved anvendelse af andet lookup få bibliotek stateful objekt * * *") system. println ("bog (er), der er opført så vidt:" + bookslist1. size()); int (i = 0. jeg < bookslist1. size(); + + i) {system. println (i + 1) + "."+ bookslist1. kom (i));}} fangst (undtagen e) (system. println (f. getmessage()); f. printstacktrace();} {{(brconsolereader endelig prøve!= null) (brconsolereader. close();}} fangst (ioexception ex) (system. println (eks. getmessage())}}}}, ejbtester udfører følgende opgaver,.,,, last egenskaber fra jndi.properties og nulstille initialcontext objekt.,,, teststatefulejb() metode, jndi lookup er færdig med navn - "librarystatefulsessionbean /fjerntliggende" for at få fjernbetjeningen business objekt (stateful ejb).,,, så brugeren er vist et bibliotek butik brugergrænseflade, og han /hun bliver bedt om at træde valg.,,, hvis brugeren indtaster 1, system kræver bog navn og redder bog med stateful samling bean addbook() metode.samling bean er lagring af bogen i sin omgang variabel.,,, hvis brugeren indtaster 2, systemet har bøger ved hjælp af stateful samling bean getbooks() metode og udgange.,,, så en anden jndi lookup er færdig med navn - "librarystatefulsessionbean /fjerntliggende" for at få fjernbetjeningen business objekt (stateful ejb) og opførelse af bøger er gjort.,,, løb klient adgang til ejb, find ejbtester.java i projektet udforsker.højreklik på ejbtester klasse og udvælge, løb fil,., kontrollere følgende output i netbeans konsol. løb: ********************** velkommen til boghandel ********************** muligheder. 1.tilføj bog 2.udførsel træde valg: 1 træde bog navn: lære java ********************** velkommen til boghandel ********************** muligheder. 1.tilføj bog 2.udførsel træde valg: 2 bog (er), der er opført så vidt: 1 1.lære java - * * * efter anden lookup få bibliotek stateful objekt - * * * bog (er), der er opført så vidt: 0 bygge vellykkede (i alt: 13 sekunder), løb kunde igen adgang til ejb, find ejbtester.java i projektet udforsker.højreklik på ejbtester klasse og udvælge, løb fil,., kontrollere følgende output i netbeans konsol. løb: ********************** velkommen til boghandel ********************** muligheder. 1.tilføj bog 2.udførsel træde valg: 2 bog (er), der er opført så vidt: 0 * * * ved anvendelse af andet lookup få bibliotek stateful objekt - * * * bog (er), der er opført så vidt: 0 bygge vellykkede (i alt: 12 sekunder), produktion, jf. ovenfor, fastslår, at for hver lookup en anden stateful ejb instans er tilbage.,,, stateful ejb har til formål at holde værdi for fælles samling.som i andet løb, vi får ikke nogen værdi af bøger,.,,,
ejb stateful bønner
Previous:ejb statsløse bønner
Next Page:ejb drevet bønner