, ejb 3 indeholder specifikationer for at opfange forretningsmetoder opkald ved hjælp af metoder, forsynet med @ aroundinvoke anmærkning.en interceptor metode benævnes med ejbcontainer før arbejdet metode kalder det er aflytning.således er f.eks. undertegnelsen af en interceptor metode @ aroundinvoke offentlige formål methodinterceptor (invocationcontext ctx) gør undtagelse (system. println (* * * interceptende opfordring til librarybean metode: "plus ctx. getmethod(). getname()); tilbage ctx. proceed();}, interceptor metoder kan anvendes, eller bundet på tre niveauer,,,,, at misligholdelse - default interceptor er gældende for alle bønner i anvendelse. misligholdelse interceptor kun kan anvendes via xml (ejb jar. xml).,,,,,,, - - undergruppeniveau interceptor er gældende for hver metode med bean.- undergruppeniveau interceptor kan anvendes både ved indføring af via xml (ejb jar. xml).,,,, metode - metode plan interceptor er gældende for en bestemt metode til bønne.metode plan interceptor kan anvendes både ved indføring af via xml (ejb jar. xml).,,, vi drøfter - undergruppeniveau interceptor her.,, interceptor klasse, pakke com.tutorialspoint.interceptor; import javax.interceptor.aroundinvoke; import javax.interceptor.invocationcontext; offentlige klasse businessinterceptor {@ aroundinvoke offentlige formål methodinterceptor (invocationcontext ctx) gør undtagelse (system. println (* * * interceptende opfordring til librarybean metode: "plus ctx. getmethod(). getname()); tilbage ctx. proceed();}}, afsidesliggende interface, import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarybeanremote (//add business metode erklæringer}, fanges statsløse ejb, @ aflytningsenheder ((businessinterceptor. klasse}) @ statsløse offentlige klasse librarybean gennemfører librarybeanremote {//gennemføre forretninger metode), f.eks. ansøgning, lad os skabe en test ejb anvendelse for at teste opsnappede statsløse ejb., stepdescription 1create et projekt med et navn, ejbcomponent under en pakke, com.tutorialspoint.interceptor, 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 at forstå opsnappede ejb begreber.2create, librarybean.java, og librarybeanremote under - pakken, com.tutorialspoint.interceptor, 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), librarybeanremote.java, pakke com.tutorialspoint.interceptor; import java.util.list; import javax.ejb.remote; @ fjerntliggende offentlig grænseflade librarybeanremote {tomrum addbook (string - bookname) liste getbooks();}, librarybean.java, pakke com.tutorialspoint.interceptor; import java.util.arraylist; import java.util.list; import javax.ejb.stateless; import javax.interceptor.interceptors; @ aflytningsenheder ((businessinterceptor. klasse}) @ statsløse offentlige klasse librarybean gennemfører librarybeanremote (liste < snor > bogreol, offentlige librarybean() {bogreol = nye arraylist < snor > c);} offentlige tomrum addbook (string - bookname) {boghylde. tilføje (bookname)} offentlige list - < 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 -, librarybean /fjerntliggende,.,,, vi vil anvende denne lookup snor for at få isolerede forretninger er genstand for type -, kom. tutorialspoint. interceptor. librarybeanremote,,,, jboss applikationsserver log produktion.16:30:01401 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarybean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarybean /remote-com.tutorialspoint.interceptor.librarybeanremote - ejb3. x fjerntliggende virksomheder grænseflade 16:30:02723 info [sessionspeccontainer] begynder jboss. j2ee tingelser [...]: jar jar navn = = ejbcomponent. librarybean, service = ejb3 16:30:02723 info [ejbcontainer] begyndte ejb - com.tutorialspoint.interceptor.librarybeanremote ejbname: librarybean 16:30:02731 info [jndisessionregistrarbase] bindende følgende punkter i den globale jndi: librarybean /fjern - ejb3. x misligholdelse fjerntliggende virksomheder grænseflade librarybean /remote-com.tutorialspoint.interceptor.librarybeanremote - ejb3. x fjerntliggende virksomheder iterface..., 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.librarybeanremote; 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 klasse ejb- prøve (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. testinterceptedejb();} private tomrum showgui() {system. println ("**********************"); system.out.println ("velkommen til bog butikken"); system. println ("**********************"); system. tryk ("muligheder. n1.tilføj bog. n2.exit. nenter valg: ");} private tomrum testinterceptedejb() (prøve (int valg = 1; librarybeanremote librarybean = librarybeanremote) ctx. lookup (" librarybean /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 + +) 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.,,, testinterceptedejb() metode, jndi lookup er færdig med navn - "librarybean /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 sin omgang variabel.,,, 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 output, kontrollere følgende output i jboss applikationsserver log produktion.,..09:55:40741 info [stdout] * * * interceptende opfordring til librarybean metode: addbook 09:55:43661 info [stdout] * * * interceptende opfordring til librarybean metode: getbooks,
ejb aflytningsenheder
Previous:ejb afhængighed injektion
Next Page:ejb pletter /clobs