[Java lista] NetBeans + Maven + MavenIde + Spring + JPA + Hibernate

István Viczián viczian.istvan at gmail.com
2007. Júl. 17., K, 17:28:33 CEST


Üdv,

igen, az én bajom az, hogy az init-method nem tranzakciós környezetben
fut. Magyusz rámutatott, hogy a tranzakciós környezet csak a
HTTPProcessor szálakon volt adott nála. Így sem a main-en, sem a
Quartz-on kreált szálon nem működött.

A napló:
DEBUG - org.hibernate.event.def.AbstractSaveEventListener: delaying
identity-insert due to no transaction in progress

OpenSessionInViewFilter-t nem használok, service metódus végén van
tranzakció zárás. Web konténeren kívül nem próbáltam.

Találtam ilyent, de nem értem a végét:

http://forum.springframework.org/showthread.php?t=21329&highlight=init-method+transaction

Viczi

On 7/17/07, Zsombor <gzsombor at gmail.com> wrote:
>
>
> On 7/17/07, Tamás Magyar <magyusz at gmail.com> wrote:
> > > - Minden Tomcat indulás (mióta az Acegi is benne van):
> > > java.lang.OutOfMemoryError: PermGen space, próbálkoztam a Netbeans
> > > Server Manager-ében a -Xmx -Xms -XX:MaxPermSize kapcsolókkal, semmi,
> > > feltételezem, mivel a Maven(IDE) indít Tomcat-et, az vághatja felül a
> > > kapcsolókat
> >
> > Megerősítem a gyanút, hogy az Acegi okozza. Megfelelően nagy PermGen
> > mérettel, megfelelően (végesen) nagy számra növelhető a Tomcat restart
> > nélküli sikeres redeployok száma.
> >
> > Nagyon ismerős probléma:
> > "- Tranzakciókezelés deklaratív módon, XML-ben és annotation-nel is
> > ugyanaz: az init-method nincs tranzakciós környezetben, ott nem tudok
> > semmit perzisztálni. Ötlet? Kezelhetem kézzel, de akkor mi értelme
> > van..."
> > Volt egy kollégám, aki szerint biztosan meg lehet valahogy oldani... :)
> >
> > Sok kísérlet, fórumozás, keresés, nyomozás volt részemről már
> > ezügyben. Az Interceptor ThreadLocal-lal dolgozik. Közvetlen
> > összefüggést a HTTPProcessor szálakkal és az
> > OpenSessionInViewInterceptoron keresztüli közvetettet sem sikerült
> > kiderítenem, hogy miért nem hajlandó a main szálon (pl. initben) vagy
> > saját / akármilyen csoda tool (pl. Quartz, JDK5 scheduleing) által
> > kreált szálon (pl. aszinkron feldolgozásnál) ugyanolyan szépen
> > működni, mint a HTTP kiszolgáló szálakon (ott soha semmi gond nem
> > volt). A kisérletezés nagy része még Spring1-en történt, de mivel a
> > Spring2 projektben sem sikerült belőni (csak a  HTTP kiszolgáló
> > szálakon működött korrekten), saját tranzakció kezelést választottunk,
> > szokatlan volt (sok kézi kódolás, amit addig a Spring megcsinált), de
> > működött.
> >
> > A Spring szerintem úgy gondolta, hogy ha a main szálon dolgozol (az
> > init ott fut le), akkor minek Neked deklaratív tranzakció. Sajnos
> > rosszul gondolta.
> >
> >
> > Magyusz
> >
>
>
> Valszeg valamit nem értek. Mi az ami nem müködik springben nektek? Az init
> metódus nem kerül tranzakciós környezetbe? Webszerver nélkül próbáltátok
> használni már? Nálam semmi probléma nem volt vele. Gondolom Ti is a
> OpenSessionInViewFilter -t használjátok a webes lekérdezésekkor, de ettől
> függetlenül is müködik.
>
>
> Zs
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>


További információk a(z) Javalist levelezőlistáról