ejb håndtering af undtagelser

, ejb er en del af virksomhedens ansøgninger, som normalt er fordelt miljø baseret på.bortset fra det normale undtagelser, der kan forekomme i kode, i tilfælde af ejb, der kan være undtagelse som meddelelse fiasko, sikkerhed, tilladelser, serveren ned. ejb container finder undtagelser på to måder.,,,, anvendelse undtagelse - hvis virksomhed regel er voilated eller undtagelse forekommer, mens fuldbyrdende forretningslogikken.,,,, system undtagelse, - en undtagelse, som ikke er forårsaget af forretningslogikken eller en kode.runtimeexception, remoteexception er systemexception.for eksempel, fejl i ejb lookup.,,, hvordan ejb beholder håndtag undtagelser?når anvendelsen undtagelse forekommer, ejb beholder opfanger den undtagelse, men får det samme tilbage til kunden, som det er.det er ikke rulle tilbage den transaktion, medmindre det er angivet i kode, som ejbcontext. setrollbackonly() metode.ejb beholder ikke pakke, undtagen i tilfælde af anvendelse undtagelse. når system undtagelse forekommer, ejb beholder opsnapper den undtagelse, rollbacks transaktionen og begynde at rydde op i opgaver.det var alt, undtagen i remoteexception og kaster det til kunden, håndtering anvendelse undtagelse anvendelse undtagelser generelt er smidt i møde ejb metoder, som er ansvarlig for at udføre disse metoder ved logik.ansøgning om undtagelse bør være angivet i kaster klausul forretninger metode og skal smides i tilfælde af forretningslogikken mislykkes., @ statsløse offentlige klasse librarypersistentbean gennemfører librarypersistentbeanremote {...offentlig liste < bog > getbooks() kaster nobookavailableexception (liste < bog > bøger = entitymanager. createquery ("fra bøger"). getresultlist(); hvis (books.size = = 0) kaste nobookavailableexception ("ingen bog, der findes i biblioteket."); tilbage bøger;}.}, håndteringssystem undtagelse system undtagelse kan forekomme på et hvilket som helst tidspunkt som at kalde lookup mislykkes, sql fejl forekommer, mens hente data.i sådanne tilfælde bør en sådan undtagelse indpakket i henhold til ejbexception og kastet tilbage til kunden, @ statsløse offentlige klasse librarypersistentbean gennemfører librarypersistentbeanremote {...offentlig liste < bog > getbooks() (prøve (liste < bog > bøger = entitymanager. createquery ("fra bøger"). getresultlist();} fangst (createexception ce) {kaste (ejbexception) nye ejbexception (ce). initcause (ce)} fangst (sqlexception se) (smid (ejbexception) nye ejbexception (se). initcause (se);} tilbage bøger;}.}, klient side, klare ejbexception. offentlige klasse ejbtester (private tomrum testentityejb() {...prøve (librarypersistentbeanremote librarybean = librarypersistentbeanremote) ctx. lookup ("librarypersistentbean /fjerntliggende"); listen < bog > bookslist = librarybean. getbooks();} fangst (ejbexception e) (undtagen e = (undtagelse) f. getcause(); hvis (ne. getclass(). getname(). = ("sqlexception") (system. println ("database fejl:" + e. getmessage())).),



Previous:
Next Page: