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