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 >
