ejb callbacks

, callback er en mekanisme, som en virksomheds livscyklus - kan aflyttes.ejb 3,0 specifikation har specificeret callbacks som callback kontaktperson metoder vil blive skabt.ejb beholder kalder disse callbacks.vi kan definere callback metoder i ejb klasse selv eller i en særskilt klasse.ejb 3,0 har givet mange kommentarer til callbacks efter er den liste over callback anmærkninger for statsløse bean., annotationdescription @ postconstructmethod er gældende, når en bønne er skabt for første gang @ predestroymethod er gældende, når en bønne er fjernet fra bean pool eller er ødelagt.efter listen over den callback kommentarer til stateful bean., annotationdescription @ postconstructmethod er gældende, når en bønne er skabt for første gang @ predestroymethod er gældende, når en bønne er fjernet fra bean pool eller er ødelagt.@ postactivate metode er anvendt, når en bønne er lastet til anvendes.@ prepassivatemethod er gældende, når en bønne er sat tilbage til bean pool.efter listen over den callback kommentarer til besked drevet bean., annotationdescription @ postconstructmethod er gældende, når en bønne er skabt for første gang @ predestroymethod er gældende, når en bønne er fjernet fra bean pool eller er ødelagt.efter listen over den callback kommentarer til enhed, bean. annotationdescription @ prepersistmethod er gældende, når en virksomhed er oprettet i databasen.@ postpersistmethod påberåbes, når en virksomhed er oprettet i databasen.@ preremovemethod er gældende, når en virksomhed er slettet fra listen.@ postremovemethod påberåbes, når en virksomhed er slettet fra listen.@ preupdatemethod påberåbes, før virksomheden skal ajourføres i databasen.@ postloadmethod er gældende, når en plade er hentet fra database og ladt i virksomheden.eksempel anvendelse, lad os skabe en test ejb anvendelse for at afprøve forskellige callbacks i ejb., stepdescription 1create et projekt med et navn, ejbcomponent under en pakke, com.tutorialspoint.stateless, som forklaret i den, ejb - skabe anvendelse, kapitel.du kan også bruge projektet skabt i, ejb - persistens, kapitel som sådan i dette kapitel at tilføje forskellige callbacks til ejbs.2create, librarysessionbean.java, og librarysessionbeanremote, som forklaret i den, ejb - skabe anvendelse, kapitel.hold resten af filerne uændret.3use bønner, der blev skabt i, ejb - persistens, kapitel.tilføj callback metoder som vist nedenfor.hold resten af filerne uændret.4create en java - klasse, bookcallbacklistener under - pakken, kom. tutorialspoint. opkald.denne klasse vil viser adskilt callback metoder.5clean og opbygge anvendelse for at sikre, at erhvervslivet logik er at arbejde som pr. kravene.6finally, anvende anvendelse i form af jar - fil på jboss applikationsserver.jboss applikationsserver vil starte automatisk, hvis det ikke er begyndt endnu.7now 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), bookcallbacklistener.java, pakke com.tutorialspoint.callback; import javax.persistence.prepersist; import javax.persistence.postload; import javax.persistence.postpersist; import javax.persistence.postremove; import javax.persistence.postupdate; import javax.persistence.preremove; import javax.persistence.preupdate; import com.tutorialspoint.entity.book; offentlige klasse bookcallbacklistener {@ prepersist offentlige tomrum prepersist (bog, bog) (system. println ("bookcallbacklistener. prepersist:" + "bog er skabt med bog id:" + bog. getid())} @ postpersist offentlige tomrum postpersist (objekt bog) (system. println ("bookcallbacklistener. postpersist:" + "bog crspist med bog id: "(+ (bog, bog). getid())} @ preremove offentlige tomrum preremove (bog, bog) (system. println (" bookcallbacklistener. preremove: "+" om at slette bog: "+ bog. getid())} @ postremove offentlige tomrum postremove (bog, bog. {system. println (" bookcallbacklistener. postremove: "+" udgår bog: "+ bog. getid())} @ preupdate offentlige tomrum preupdate (bog, bog) (system. println (" bookcallbacklistener. preupdate: "+" om at ajourføre bog: "+ bog. getid());} @ postupdate offentlige tomrum postupdate (bog, bog) (system. println (" bookcallbacklistener. postupdate: "+" ajourført bog: "+ bog. getid())} @ postlfar offentlige tomrum postload (bog, bog) (system. println ("bookcallbacklistener. postload:" + "lastet bog:" + bog. getid())), book.java, pakke com.tutorialspoint.entity; import java.io.serializable; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.entitylisteners; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id, import javax.persistence.table; @ enhed @ tabel (navn = "bøger") offentlige klasse bog gennemfører serializable (private int id; private snor navn; de offentlige book() {} @ id @ generatedvalue (strategi = generationtype. identitet) @ kolonne (navn = "id") offentlige int getid() {tilbagevenden id.} offentlige tomrum setid int (id) (this.id = id.} offentlige snor getname() {navn} offentlige tomrum tilbage; setname (string navn) (this.name = navn}}, librarystatefulsessionbean.java, pakke com.tutorialspoint.stateful; import java.util.arraylist; import java.util.list; import javax.annotation.postconstruct; import javax.annotation.predestroy; import javax.ejb.postactivate; import javax.ejb.prepassivate, 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.} @ postconstruct offentlige tomrum postconstruct() {system. println ("librarystatefulsessionbean. postconstruct:" + "bønne skabt.");} @ predestroy offentlige tomrum predestroy() {system. println ("librarystatefulsessionbean. predestroy:" + "havde fjernet.");} @ postactivate offentlige tomrum postactivate() {system. println ("librarystatefulsessionbean. postactivate:" + "bønne aktiveret.");} @ prepassivate offentlige tomrum prepassivate() {system. println ("librarystatefulsessionbean. prepassivate:" + "bønne passivated.")}}, librarystatefulsessionbeanrempote.java, pakke com.tutorialspoint.stateful; import java.util.list; import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarystatefulsessionbeanremote {tomrum addbook (string - bookname) liste getbooks();}, librarypersistentbean.java, pakke com.tutorialspoint.stateless; import com.tutorialspoint.entity.book; import java.util.list; import javax.annotation.postconstruct; import javax.annotation.predestroy; import javax.ejb.stateless; import javax.persistence.entitymanager; import javax.persistence.persistencecontext; @ statsløse offentlige klasse librarypersistentbean gennemfører librarypersistentbeanremote (offentlige librarypersistentbean() {} @ persistencecontext (unitname = "entityejbpu")private entitymanager entitymanager; offentlige tomrum addbook (bog, bog) (entitymanager. fortsætter (bog)} offentlig liste < bog > getbooks() {tilbage entitymanager. createquery ("fra bog"). getresultlist();} @ postconstruct offentlige tomrum postconstruct() {system. println ("postconstruct: librarypersistentbean møde -" + ", der blev oprettet med enhed forvalter formål:");} @ predestroy offentlige tomrum predestroy() {system. println ("predestroy: librarypersistentbean møde" + "bean er fjernet")), librarypersistentbeanremote.java, pakke com.tutorialspoint.stateless; import com.tutorialspoint.entity.book; import java.util.list; import javax. ejb.- vise følelser; @ fjerntliggende offentlig grænseflade librarypersistentbeanremote {tomrum addbook (bog bookname); listen < bog > getbooks();},,,,,,, 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 -, librarypersistentbean /fjerntliggende,.,,, vi vil anvende denne lookup tråde for at få isolerede forretninger er genstand for type -, kom. tutorialspoint. statsløse. librarypersistentbeanremote,,,, jboss applikationsserver log produktion.16:30:01401 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarypersistentbean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarypersistentbean /remote-com.tutorialspoint.stateless.librarypersistentbeanremote - ejb3. x fjerntliggende virksomheder grænseflade 16:30:02723 info [sessionspeccontainer] begynder jboss. j2ee tingelser [...]: jar jar navn = = ejbcomponent. librarypersistentbean, service = ejb3 16:30:02723 info [ejbcontainer] begyndte ejb - com.tutorialspoint.stateless.librarysessionbeanremote ejbname: librarypersistentbean..., 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 statsløse samling bean,,, ejbtester.java, pakke com.tutorialspoint.test; import com.tutorialspoint.stateful.librarysessionbeanremote; 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; offentlige ctøs 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) (eks. printstacktrace();} brconsolereader = nye bufferedreader (nye inputstreamreader (system. i)} offentlige statisk tomrum vigtigste (string [] args) (ejbtester ejbtester = nye ejbtester(); ejbtester. testentityejb();} private tomrum showgui() {system. println ("**********************"). out. println ("velkommen til bog butikken"); system. println ("**********************"); system. tryk ("muligheder. n1.tilføj bog. n2.exit. nenter valg: ");} private tomrum testentityejb() (prøve (int valg = 1; librarypersistentbeanremote librarybean = (librarypersistentbeanremote) ctx. lookup (" librarypersistentbean /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. println (i + 1) + "."+ bog. getname()); jeg + +) 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.,,, teststatelessejb() metode, jndi lookup er færdig med navn - "librarysessionbean /fjerntliggende" for at få fjernbetjeningen business objekt (statsløse 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 ved hjælp af statsløse samling bean addbook() metode.samling bean er lagring af bogen i databasen,.,,, hvis brugeren indtaster 2, systemet har bøger ved hjælp af statsløse samling bean getbooks() metode og udgange.,,, 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 bygge vellykkede (i alt: 13 sekunder), jboss applikationsserver log produktion, kan du finde følgende callback angivelser i jboss log, 14:08:34293 info [stdout] postconstruct: librarypersistentbean samling bean, der er skabt med enhed forvalter objekt.16:39:09484 info [stdout] bookcallbacklistener. prepersist: bog er skabt med bog id: 0 16:39:09531 info [stdout] bookcallbacklistener. postpersist: bog, der er skabt med bog id: 1 16:39:09900 info [stdout] bookcallbacklistener. postload: ladt bog: 1.,



Previous:
Next Page: