Zdravim,

uverena konstrukce je nestastna z pohledu zavirani resultsetu. V zasade je tak 
poprena dalsi rada p. Blocha - nespolehat se na finalizatory :-) Mimo jine, 
myslim, ze ten priklad je tam s Iteratory (alespon ja to tak pouzivam).

Tento priklad me ale privedl na myslenku, ze vubec nevim, zdali ma Hibernate 
nejak osetreno zavirani resultsetu ze kterych vraci Iterator. Doufam ze ano, 
ale nemam ted cas to overit :-( Nesetkal se nekdo s tim, jak je to v Hibernate 
udelane?

JM


> ------------ Původní zpráva ------------
> Od: Moravec Jan <[EMAIL PROTECTED]>
> Předmět: RE: for vs. while
> Datum: 23.8.2006 15:17:14
> ----------------------------------------
> Zdravim,
>
> Asi jsem neco nepochopil, ale jak korektne uzavrete ten otevreny result set 
> bez
> toho, ze byste spolehal na to, ze se to "mozna udela samo" pri zavirani 
> prepared
> statementu?
>
> Nedoporucuji na prilis spolehat na to, ze se ResultSet uzavre v okamziku
> uzavreni statementu (to rika javadoc u ResultSet.close). Je to dost
> implementacne zavisla vec a uz jsem videl drivery, kde bez uzavreni RS 
> dochazelo
> k osklivym memory leakum. Navic prepared statementy jsou v 'rozumnejsich"
> aplikacich cachovany (napriklad na WebSphere, ale i jinde, zavisi co pouzivate
> za connection pool) a nejsou tudiz fyzicky uzavirany - aplikace dostane 
> wrapper
> nad statementem a pokud zavola close, jen se ten statement vrati do poolu a
> close se nad tim zabalenym statementem nevola - stejny princip jako u
> poolovanych Connection.
>
> Joshe Blocha drzim ve velke vaznosti, ale tento pattern je dost velky ulet, 
> nebo
> je pouzitelny jen za urcitych okolnosti (mate dobry driver a necachuji se
> prepared statementy) - mozna je to v te knize zmineno, necetl jsem.
>
> Honza
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Behalf Of Roman Kratochvil
> Sent: Wednesday, August 23, 2006 12:56 PM
> To: Java
> Subject: Re: for vs. while
>
>
> Zdravim,
> a co si myslite o tomhle:
>
>             PreparedStatement ps = ...
>             for (ResultSet rs = ps.executeQuery(); rs.next(); ) {
>                 ...
>             }
>
> Podle me je to lepsi nez "ucebnicovy" dvouradkovy while... a take v souladu
> s nazorem Joshuy Blocha v Effective Java...
>
> Roman
>
>
>
> ----- Original Message -----
> From: "Benda Lukas" <[EMAIL PROTECTED]>
> To: "Java - diskuse" <[email protected]>
> Sent: Wednesday, August 23, 2006 10:53 AM
> Subject: for vs. while
>
>
> > Dneska jsem ve jednom frameworku narazil na tuhle konstrukci:
> >
> > for (; text != null;) {
> > ...
> > }
> >
> > Mne to prijde jako docela praseci konstrukce. Muze mit nejake opodstatneni
> > pouzit takhle for misto toho aby se pouzil while?
> >
> > Lukas "benzin" Benda
> >
>
>
>
>

Odpovedet emailem