[Javalist] Connection clean

Akos Gabriel akos.gabriel at gmail.com
2016. Ápr. 26., K, 19:18:38 CEST


2016-04-26 14:30 GMT+02:00 József Keresztes <xesj.hu at gmail.com>:
> 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.

Valszeg lehetne rá taknyolni valami rettenetet.
De ennek talán még több kellemetlen mellékhatása lenne mint az eredeti
problémának.
Például mitől "elég régi" egy resultset ?

Legcélszerűbbnek látszik időnként újraindítani ezt az alkalmazást...

Üdv,
Ákos


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