[ ika999 @ 09.10.2007. 13:15 ] @
Imam session bean kojim vrsim update, kreirao sam entity bean koji ima definisan @EntityListeners na drugu session bean klasu u kojoj sam definisao metodu za @PostUpdate.
Nakon poziva klijenta i izvrsenja updata u metodi koja je definisana u @PostUpdate dobijam gresku prilikom pristupanja drugom session beanu koriscenjem anotacije @ejb. Koristim JBOSS app server i u log fajlu mi prijavljuje:
2007-10-09 08:20:42,504 ERROR [STDERR] java.lang.NullPointerException ...
Istu gresku dobijam i prilikom koriscenja lookup-a.
Kada iz klijenta pozovem jedan bean koji poziva drugi bean (preko anotacije ili lookup-a) sve radi, medjutim, preko ovakvog poziva jednostavno ne mogu iz tog beana(koji je ustvari osluskivac entity beana) da pristupim drugom.


PS. Kada ne koristim hvatace gresaka u JDeveloperu dobijem sledece:
Can't commit because the transaction is in aborted state


[ DeepInBrain @ 10.10.2007. 07:27 ] @
Nisam siguran da li ce Vam ovo pomoci, ali vredi pokusati...
Promenite type transakcije:
Code:
@ejb.transaction type="Required"


... naravno, koristite tip koji Vam je potreban.

Note:
@ejb:transaction
Defines the transactional behavior for all methods in remote and home interfaces of this bean with transaction type of type. Can be overridden by using transaction tags on individual methods.
A valid transactional attribute: NotSupported | Supports | Required | RequiresNew | Mandatory | Never.
[ ika999 @ 10.10.2007. 14:07 ] @
Hvala Aleksandre.
Predlog radi kada su u pitanju transakcije izmedju 2 session beana, medjutim nije moguc iz klase Listener (ili iz samog entity beana) pristup bilo kom session beanu.
Samim tim ne moze proci Update iz Session beana(koji je u mom slucaju bio Listener klasa) niti bilo koja njegova metoda, niti metoda nekog drugog beana.