[Javalist] Connection clean

Böszörményi Péter zmblevlist at gmail.com
2016. Ápr. 26., K, 19:45:00 CEST


Csinald azt, amit a JBoss csinalt. Amikor kiveszel egy connectiont, dobd 
bele egy thread localba. Amikor valaki bezarja a connectiont, akkor dobd 
ki a thread localbol. Rakj az app ele egy filter, ami a keres utan a 
thread localban levo connectionoket lezarogatja. Bonusz: amikor valaki 
kivegy egy kapcsolatot, mentsd el a stack tracet. Amikor a filtered 
lezarja a kapcsolatot, loggold ki a stack tracet. Eredmeny: megvan, hogy 
kik nem zarjak le a kapcsolatot.

On 26/04/16 14:30, József Keresztes wrote:
> Sziasztok !
>
> Van egy webalkalmazás, az Oracle adatbázis kapcsolatok pool-ban üldögélnek.
> Az egyik folyamat kivesz egy Connection-t a pool-ból, de abban nincsenek
> tisztességesen lezárva a ResultSet-ek, így amikor szerencsétlen szeretne
> egy ResultSet-et kapni akkor az Oracle beint neki:
>
> java.sql.SQLException: ORA-01000: maximum open cursors exceeded
>
> A kérdés lerágott csont, természetesen úgy kell programozni hogy mindig
> mindent szépen lezárunk stb stb stb.
>
> DE ! Tényleg nincs arra mód hogy amikor valaki kivesz a pool-ból egy
> connection-t akkor valami "tisztogatás" félét hajtson végre rajta, tehát
> rögtön ezzel kezdjen, és így függetlenné váljon attól hogy milyen
> állapotú connection-t hagytak neki a pool-ban ? Sajnos hiába kezd rögtön
> rollback-el, vagy setHoldability(0)-lal, ez nincs hatással rá. Valszeg
> nincs is rá megoldás, de hátha Ti mégis megoldottátok ezt a dolgot.
>
> Joe
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>


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