You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(55) |
Mar
(100) |
Apr
(203) |
May
(330) |
Jun
(190) |
Jul
(302) |
Aug
(323) |
Sep
(197) |
Oct
(245) |
Nov
(490) |
Dec
(330) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(194) |
Feb
(400) |
Mar
(416) |
Apr
(415) |
May
(359) |
Jun
(381) |
Jul
(491) |
Aug
(311) |
Sep
(291) |
Oct
(273) |
Nov
(355) |
Dec
(266) |
| 2005 |
Jan
(306) |
Feb
(303) |
Mar
(520) |
Apr
(346) |
May
(255) |
Jun
(221) |
Jul
(171) |
Aug
(247) |
Sep
(147) |
Oct
(125) |
Nov
(165) |
Dec
(65) |
| 2006 |
Jan
(90) |
Feb
(53) |
Mar
(121) |
Apr
(103) |
May
(113) |
Jun
(103) |
Jul
(104) |
Aug
(67) |
Sep
(78) |
Oct
(82) |
Nov
(78) |
Dec
(70) |
| 2007 |
Jan
(77) |
Feb
(76) |
Mar
(63) |
Apr
(30) |
May
(47) |
Jun
(41) |
Jul
(44) |
Aug
(44) |
Sep
(49) |
Oct
(33) |
Nov
(25) |
Dec
(21) |
| 2008 |
Jan
(45) |
Feb
(13) |
Mar
(15) |
Apr
(12) |
May
(9) |
Jun
(33) |
Jul
(30) |
Aug
(7) |
Sep
(20) |
Oct
(17) |
Nov
(20) |
Dec
(10) |
| 2009 |
Jan
(8) |
Feb
(5) |
Mar
(12) |
Apr
(17) |
May
(19) |
Jun
(97) |
Jul
(77) |
Aug
(33) |
Sep
(24) |
Oct
(41) |
Nov
(16) |
Dec
(32) |
| 2010 |
Jan
(24) |
Feb
(14) |
Mar
(50) |
Apr
(71) |
May
(70) |
Jun
(64) |
Jul
(45) |
Aug
(62) |
Sep
(32) |
Oct
(4) |
Nov
(12) |
Dec
(2) |
| 2011 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(3) |
May
(6) |
Jun
(1) |
Jul
(4) |
Aug
(3) |
Sep
(4) |
Oct
(6) |
Nov
(3) |
Dec
(3) |
| 2012 |
Jan
(4) |
Feb
(8) |
Mar
(6) |
Apr
(10) |
May
(2) |
Jun
(3) |
Jul
(11) |
Aug
(10) |
Sep
(4) |
Oct
|
Nov
(1) |
Dec
(1) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
(9) |
Apr
(1) |
May
(8) |
Jun
(2) |
Jul
(5) |
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(10) |
Dec
(8) |
| 2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(12) |
May
(2) |
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(2) |
| 2015 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(9) |
May
(2) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
(7) |
Oct
(9) |
Nov
(7) |
Dec
(9) |
| 2016 |
Jan
(7) |
Feb
(5) |
Mar
(5) |
Apr
(5) |
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(4) |
Sep
(6) |
Oct
(7) |
Nov
(2) |
Dec
(3) |
| 2017 |
Jan
(7) |
Feb
(8) |
Mar
(7) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(5) |
Aug
(8) |
Sep
(4) |
Oct
(2) |
Nov
(3) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2021 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(2) |
Aug
(5) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <tri...@tr...> - 2003-08-14 14:38:07
|
Colin, > > When I have seen this sort of thing happen before (and maybe what Rod > did), was when a file was checked out to a windows system, so that every > line has the CRLF at the end, but then mailed or transported to a Unix > system, and then checked in there as is. In this case, the unix client > doesn't know that it has to strip the CR at the end of each line on > checking, and the checkin ends up with CRLF in the reop itself. Then > when you do a subsequent checkout on the windows system, the client on > the system thinks (correctly) that it has to add a CR before every > incoming LF, and you end up with CRCRLF at the end of every line. > > (Note btw, that it's not the actual CVS client that does the end of line > handling, it's really the stdio routines in the C library, which handle > this appropriately for the platform). > > In any case, this is sort of a mess :-) > Yes, and you are right about pretty much everything else in your post :-) Windows -> Linux -> CVS import is not a good combo. Should we try this again and do it right? Rod or Juergen, can you remove everything from the Spring folder so we can start with a fresh slate. I'll use my windows system this time to get proper CR/LF conversion. Thomas |
|
From: <tri...@tr...> - 2003-08-14 14:02:42
|
Juergen, That does sound odd - I am looking at the code I have and everything looks fine. Did a compare with BeanWrapperImpl (The one you updated) and it appears that my version and yours have not a single line in common - must be something with whitespace or linefeed conversions. Is anybody else seeing this? What is everybody using for CVS access? I'm using cvs command line on Linux as well as Eclipse on both WinXP and Linux. I can't see the extra lines. Thomas > Hmmm, *all* source files have unnecessary empty lines after each original > line. This looks awful and doubles the size. The only exception are the tag > classes that Jean-Pierre checked in... Is this some fancy new Eclipse feature > on Rod's installation, or even on purpose? ;-) > > Unfortunately, not even a code reformatting helps (at least not with IDEA). > So I guess we will probably have to re-checkin the *entire* source tree > (except the tag classes, to be accurate ;-). Rod, Thomas, Jean-Pierre - can > you try to deal with this, as I'm away till Saturday morning? > > BTW, ResourceBundleViewResolverTestSuite seems broken because it can't read > the testviews.properties property: Static attribute definitions are not > recognized fully because there are empty lines inbetween them... We really > need to re-checkin, as the properties are concerned too. > > Juergen > > > -----Ursprüngliche Nachricht----- > Von: Rod Johnson [mailto:rod...@in...] > Gesendet: Do 14.08.2003 09:57 > An: spr...@li... > Cc: jürgen höller [werk3AT] > Betreff: Re: [Springframework-developer] New Spring module > > > > All, > > Thomas has now completed the job and put the code in the existing "Spring" > module. Please work on this by preference. > > The snapshot was taken at Aug 13 at 0800 GMT: any changes since to the main > module will need to be manually replicated. > > Notes: > > - I haven't included the samples. I thought it would be better for JP and > Ken to add these once they're modified. Changing the imports etc is easy > with something like this: > > <replace dir="whatever" token="com.interface21" > value="org.springframework"> > <exclude name="*.jar"/> > </replace> > > - I haven't migrated /livetest. I really prefer the mock object approach > for > database testing. I'd love to test Isabelle's code without needing a > database. Any volunteers?? > > - I have put in a new /load tree, with the load testing code and some > performance tests for Spring. > > - The tests pass, and with debug logging we have 75% coverage! > > Btw we should be able to use mock tests to test for different db resource > closure failure scenarios. > > Regards, > Rod > > ----- Original Message ----- > From: <rod...@in...> > To: "jürgen höller [werk3AT] " <jue...@we...> > Cc: <spr...@li...> > Sent: Wednesday, August 13, 2003 5:14 PM > Subject: RE: [Springframework-developer] API simplification > > > > I've done the package rename and will commit it to a > > new "spring" module tonight. > > > > I'll post more details when I'm done. > > > > I've been considering some potential simplifications. I hate > > dead code--it adds bloat and makes frameworks harder to use. > > (I've just been working with TopLink...) As we progress to > > 1.0 it's a good opportunity to cut back to the > > essentials...it will be hard to remove anything (however > > useless) afterwards. > > > > As a start, I'm considering removing the JavaBean event > > support from BeanWrapper. I've not used it in any > > applications. Has anyone else used it? > > > > Now Spring has AOP support, it's possible to add listeners to > > property change events using interceptors, rather than this > > rather kludgy part of the JavaBeans API. > > > > Removing event support would get rid of about 150 lines of > > code in the beans package, and simplify the API for users. > > > > Any thoughts on this? > > > > Another candidate on my potential hitlist is the "pass- > > through" properties support for FactoryBeans. I've not seen a > > need to use this in practice (although I implemented it). > > > > Regards, > > Rod > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > > _______________________________________________ > > Springframework-developer mailing list > > Spr...@li... > > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > > > > > N¬HS^µé[)¢{(ç[ÈZÞzÞn襴4Dì׬w%¹Ø§6i©¢»lÊ&êÜxú+µ©ljwE¢»¦±ªÞjö¢¦åzz0'¶ZÉ©Ýz{^®Ú0v§\¢µb²æ¥JÛDNm§ÿÚ²ÞµÉbrK«Ê&þ > ?¦Æ´Ó]4ÓMÚ½ïÝ·µ«Z²Þ·NößMô×ý5Jâëjg°¢¹z÷¥¢«¨¥x%ËR¦¸§úÚì(®G^½éh¥êåËl²«qçè®§zØm¶?þX¬¶Ë(º·~àzwþX¬¶ÏåËbú?²âëjg°¢¹z÷¥¢« |
|
From: <rod...@in...> - 2003-08-14 13:55:52
|
>Hmmm, *all* source files have unnecessary empty lines after each original line. This looks awful and doubles the size. The only exception are the tag classes that Jean-Pierre checked in... Is this some fancy new Eclipse feature on Rod's installation, or even on purpose? ;-) This must have happened with Thomas's checkin, as there weren't blank lines in my source code. Unfortunately Thomas had to pick up the commit as Eclipse refused to create a new project for me last night. >Unfortunately, not even a code reformatting helps (at least not with IDEA). So I guess we will probably have to re- checkin the *entire* source tree (except the tag classes, to be accurate ;-). Rod, Thomas, Jean-Pierre - can you try to deal with this, as I'm away till Saturday morning? Thomas, can you please try again with the sources I emailed? Or pass them onto JP perhaps for him to have a go. Sorry about not being able to complete this myself... Regards, Rod |
|
From: Colin S. <col...@ex...> - 2003-08-14 13:34:04
|
In fact, it's not a normal empty line after each original line. When I check out the new repo, what I get (on my Windows system) is a <CR> <CR> <LF> at the end of each line, instead of the normal <CR> <LF> that should be there. Now what happens is that CVS on linux/unix stores end of lines as just <LF>, and then when you check out they get converted as needed for your platform. When I have seen this sort of thing happen before (and maybe what Rod did), was when a file was checked out to a windows system, so that every line has the CRLF at the end, but then mailed or transported to a Unix system, and then checked in there as is. In this case, the unix client doesn't know that it has to strip the CR at the end of each line on checking, and the checkin ends up with CRLF in the reop itself. Then when you do a subsequent checkout on the windows system, the client on the system thinks (correctly) that it has to add a CR before every incoming LF, and you end up with CRCRLF at the end of every line. (Note btw, that it's not the actual CVS client that does the end of line handling, it's really the stdio routines in the C library, which handle this appropriately for the platform). In any case, this is sort of a mess :-) jürgen höller [werk3AT] wrote: >Hmmm, *all* source files have unnecessary empty lines after each original line. This looks awful and doubles the size. The only exception are the tag classes that Jean-Pierre checked in... Is this some fancy new Eclipse feature on Rod's installation, or even on purpose? ;-) > >Unfortunately, not even a code reformatting helps (at least not with IDEA). So I guess we will probably have to re-checkin the *entire* source tree (except the tag classes, to be accurate ;-). Rod, Thomas, Jean-Pierre - can you try to deal with this, as I'm away till Saturday morning? > >BTW, ResourceBundleViewResolverTestSuite seems broken because it can't read the testviews.properties property: Static attribute definitions are not recognized fully because there are empty lines inbetween them... We really need to re-checkin, as the properties are concerned too. > >Juergen > > > -----Ursprüngliche Nachricht----- > Von: Rod Johnson [mailto:rod...@in...] > Gesendet: Do 14.08.2003 09:57 > An: spr...@li... > Cc: jürgen höller [werk3AT] > Betreff: Re: [Springframework-developer] New Spring module > > > > All, > > Thomas has now completed the job and put the code in the existing "Spring" > module. Please work on this by preference. > > The snapshot was taken at Aug 13 at 0800 GMT: any changes since to the main > module will need to be manually replicated. > > Notes: > > - I haven't included the samples. I thought it would be better for JP and > Ken to add these once they're modified. Changing the imports etc is easy > with something like this: > > <replace dir="whatever" token="com.interface21" > value="org.springframework"> > <exclude name="*.jar"/> > </replace> > > - I haven't migrated /livetest. I really prefer the mock object approach for > database testing. I'd love to test Isabelle's code without needing a > database. Any volunteers?? > > - I have put in a new /load tree, with the load testing code and some > performance tests for Spring. > > - The tests pass, and with debug logging we have 75% coverage! > > Btw we should be able to use mock tests to test for different db resource > closure failure scenarios. > > Regards, > Rod > > ----- Original Message ----- > From: <rod...@in...> > To: "jürgen höller [werk3AT] " <jue...@we...> > Cc: <spr...@li...> > Sent: Wednesday, August 13, 2003 5:14 PM > Subject: RE: [Springframework-developer] API simplification > > > > I've done the package rename and will commit it to a > > new "spring" module tonight. > > > > I'll post more details when I'm done. > > > > I've been considering some potential simplifications. I hate > > dead code--it adds bloat and makes frameworks harder to use. > > (I've just been working with TopLink...) As we progress to > > 1.0 it's a good opportunity to cut back to the > > essentials...it will be hard to remove anything (however > > useless) afterwards. > > > > As a start, I'm considering removing the JavaBean event > > support from BeanWrapper. I've not used it in any > > applications. Has anyone else used it? > > > > Now Spring has AOP support, it's possible to add listeners to > > property change events using interceptors, rather than this > > rather kludgy part of the JavaBeans API. > > > > Removing event support would get rid of about 150 lines of > > code in the beans package, and simplify the API for users. > > > > Any thoughts on this? > > > > Another candidate on my potential hitlist is the "pass- > > through" properties support for FactoryBeans. I've not seen a > > need to use this in practice (although I implemented it). > > > > Regards, > > Rod > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > > |
|
From: Alef A. \(JTeam\) <al...@jt...> - 2003-08-14 11:29:30
|
About the tags module... Some CVS clients (ao the Tortoise client) has = built-in filters for directories which are named 'tags'. This might be = the problem with the missing tags directory... Just to let you know. Alef -----Oorspronkelijk bericht----- Van: spr...@li... = [mailto:spr...@li...] Namens = j=C3=BCrgen h=C3=B6ller [werk3AT] Verzonden: Thursday, August 14, 2003 12:27 PM Aan: Rod Johnson; spr...@li... Onderwerp: Re: [Springframework-developer] New Spring module Hmmm, *all* source files have unnecessary empty lines after each = original line. This looks awful and doubles the size. The only exception = are the tag classes that Jean-Pierre checked in... Is this some fancy = new Eclipse feature on Rod's installation, or even on purpose? ;-) =20 Unfortunately, not even a code reformatting helps (at least not with = IDEA). So I guess we will probably have to re-checkin the *entire* = source tree (except the tag classes, to be accurate ;-). Rod, Thomas, = Jean-Pierre - can you try to deal with this, as I'm away till Saturday = morning? =20 BTW, ResourceBundleViewResolverTestSuite seems broken because it can't = read the testviews.properties property: Static attribute definitions are = not recognized fully because there are empty lines inbetween them... We = really need to re-checkin, as the properties are concerned too. =20 Juergen =20 -----Urspr=C3=BCngliche Nachricht-----=20 Von: Rod Johnson [mailto:rod...@in...]=20 Gesendet: Do 14.08.2003 09:57=20 An: spr...@li...=20 Cc: j=C3=BCrgen h=C3=B6ller [werk3AT]=20 Betreff: Re: [Springframework-developer] New Spring module =09 =09 All, =09 Thomas has now completed the job and put the code in the existing = "Spring" module. Please work on this by preference. =09 The snapshot was taken at Aug 13 at 0800 GMT: any changes since to the = main module will need to be manually replicated. =09 Notes: =09 - I haven't included the samples. I thought it would be better for JP = and Ken to add these once they're modified. Changing the imports etc is = easy with something like this: =09 <replace dir=3D"whatever" token=3D"com.interface21" value=3D"org.springframework"> <exclude name=3D"*.jar"/> </replace> =09 - I haven't migrated /livetest. I really prefer the mock object = approach for database testing. I'd love to test Isabelle's code without needing a database. Any volunteers?? =09 - I have put in a new /load tree, with the load testing code and some performance tests for Spring. =09 - The tests pass, and with debug logging we have 75% coverage! =09 Btw we should be able to use mock tests to test for different db = resource closure failure scenarios. =09 Regards, Rod =09 ----- Original Message ----- From: <rod...@in...> To: "j=C3=BCrgen h=C3=B6ller [werk3AT] " <jue...@we...> Cc: <spr...@li...> Sent: Wednesday, August 13, 2003 5:14 PM Subject: RE: [Springframework-developer] API simplification =09 =09 > I've done the package rename and will commit it to a > new "spring" module tonight. > > I'll post more details when I'm done. > > I've been considering some potential simplifications. I hate > dead code--it adds bloat and makes frameworks harder to use. > (I've just been working with TopLink...) As we progress to > 1.0 it's a good opportunity to cut back to the > essentials...it will be hard to remove anything (however > useless) afterwards. > > As a start, I'm considering removing the JavaBean event > support from BeanWrapper. I've not used it in any > applications. Has anyone else used it? > > Now Spring has AOP support, it's possible to add listeners to > property change events using interceptors, rather than this > rather kludgy part of the JavaBeans API. > > Removing event support would get rid of about 150 lines of > code in the beans package, and simplify the API for users. > > Any thoughts on this? > > Another candidate on my potential hitlist is the "pass- > through" properties support for FactoryBeans. I've not seen a > need to use this in practice (although I implemented it). > > Regards, > Rod > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites = including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > = http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/= 01 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > = https://lists.sourceforge.net/lists/listinfo/springframework-developer > =09 =09 =09 N=18HS^=E9=9A=8A[){([ Zz=DE=9An =044D w%=D8=A76i=17l=11&=CA=99 = x+ljwE=E9=A2=BBj zz0=0E'=E5=8C=96Z=C9=A9z{^=DD=AE0=DA=8Av\=13bJ DN=1Bm = =DE=B5brK=C9=AB&=20 ?=C6=B4]4 M=DA=BD Z=DE=B7N M 5J = jg=ED=B0=AB=ED=B0=A2=1Dz=ED=BD=96=ED=B2=97x%R=CB=A6 (G^=EC=AE=BDh lq = zm=D8=B6?X (=1E~zw X b=CB=9D? jg=EB=B0=A2=1Dz=ED=BD=96=ED=B2=97 |
|
From: <jue...@we...> - 2003-08-14 10:39:22
|
SG1tbSwgKmFsbCogc291cmNlIGZpbGVzIGhhdmUgdW5uZWNlc3NhcnkgZW1wdHkgbGluZXMgYWZ0 ZXIgZWFjaCBvcmlnaW5hbCBsaW5lLiBUaGlzIGxvb2tzIGF3ZnVsIGFuZCBkb3VibGVzIHRoZSBz aXplLiBUaGUgb25seSBleGNlcHRpb24gYXJlIHRoZSB0YWcgY2xhc3NlcyB0aGF0IEplYW4tUGll cnJlIGNoZWNrZWQgaW4uLi4gSXMgdGhpcyBzb21lIGZhbmN5IG5ldyBFY2xpcHNlIGZlYXR1cmUg b24gUm9kJ3MgaW5zdGFsbGF0aW9uLCBvciBldmVuIG9uIHB1cnBvc2U/IDstKQ0KIA0KVW5mb3J0 dW5hdGVseSwgbm90IGV2ZW4gYSBjb2RlIHJlZm9ybWF0dGluZyBoZWxwcyAoYXQgbGVhc3Qgbm90 IHdpdGggSURFQSkuIFNvIEkgZ3Vlc3Mgd2Ugd2lsbCBwcm9iYWJseSBoYXZlIHRvIHJlLWNoZWNr aW4gdGhlICplbnRpcmUqIHNvdXJjZSB0cmVlIChleGNlcHQgdGhlIHRhZyBjbGFzc2VzLCB0byBi ZSBhY2N1cmF0ZSA7LSkuIFJvZCwgVGhvbWFzLCBKZWFuLVBpZXJyZSAtIGNhbiB5b3UgdHJ5IHRv IGRlYWwgd2l0aCB0aGlzLCBhcyBJJ20gYXdheSB0aWxsIFNhdHVyZGF5IG1vcm5pbmc/DQogDQpC VFcsIFJlc291cmNlQnVuZGxlVmlld1Jlc29sdmVyVGVzdFN1aXRlIHNlZW1zIGJyb2tlbiBiZWNh dXNlIGl0IGNhbid0IHJlYWQgdGhlIHRlc3R2aWV3cy5wcm9wZXJ0aWVzIHByb3BlcnR5OiBTdGF0 aWMgYXR0cmlidXRlIGRlZmluaXRpb25zIGFyZSBub3QgcmVjb2duaXplZCBmdWxseSBiZWNhdXNl IHRoZXJlIGFyZSBlbXB0eSBsaW5lcyBpbmJldHdlZW4gdGhlbS4uLiBXZSByZWFsbHkgbmVlZCB0 byByZS1jaGVja2luLCBhcyB0aGUgcHJvcGVydGllcyBhcmUgY29uY2VybmVkIHRvby4NCiANCkp1 ZXJnZW4NCiANCg0KCS0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0gDQoJVm9uOiBS b2QgSm9obnNvbiBbbWFpbHRvOnJvZC5qb2huc29uQGludGVyZmFjZTIxLmNvbV0gDQoJR2VzZW5k ZXQ6IERvIDE0LjA4LjIwMDMgMDk6NTcgDQoJQW46IHNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXJA bGlzdHMuc291cmNlZm9yZ2UubmV0IA0KCUNjOiBqw7xyZ2VuIGjDtmxsZXIgW3dlcmszQVRdIA0K CUJldHJlZmY6IFJlOiBbU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Blcl0gTmV3IFNwcmluZyBtb2R1 bGUNCgkNCgkNCg0KCUFsbCwNCgkNCglUaG9tYXMgaGFzIG5vdyBjb21wbGV0ZWQgdGhlIGpvYiBh bmQgcHV0IHRoZSBjb2RlIGluIHRoZSBleGlzdGluZyAiU3ByaW5nIg0KCW1vZHVsZS4gUGxlYXNl IHdvcmsgb24gdGhpcyBieSBwcmVmZXJlbmNlLg0KCQ0KCVRoZSBzbmFwc2hvdCB3YXMgdGFrZW4g YXQgQXVnIDEzIGF0IDA4MDAgR01UOiBhbnkgY2hhbmdlcyBzaW5jZSB0byB0aGUgbWFpbg0KCW1v ZHVsZSB3aWxsIG5lZWQgdG8gYmUgbWFudWFsbHkgcmVwbGljYXRlZC4NCgkNCglOb3RlczoNCgkN CgktIEkgaGF2ZW4ndCBpbmNsdWRlZCB0aGUgc2FtcGxlcy4gSSB0aG91Z2h0IGl0IHdvdWxkIGJl IGJldHRlciBmb3IgSlAgYW5kDQoJS2VuIHRvIGFkZCB0aGVzZSBvbmNlIHRoZXkncmUgbW9kaWZp ZWQuIENoYW5naW5nIHRoZSBpbXBvcnRzIGV0YyBpcyBlYXN5DQoJd2l0aCBzb21ldGhpbmcgbGlr ZSB0aGlzOg0KCQ0KCSAgPHJlcGxhY2UgZGlyPSJ3aGF0ZXZlciIgIHRva2VuPSJjb20uaW50ZXJm YWNlMjEiDQoJdmFsdWU9Im9yZy5zcHJpbmdmcmFtZXdvcmsiPg0KCSAgICA8ZXhjbHVkZSBuYW1l PSIqLmphciIvPg0KCSAgPC9yZXBsYWNlPg0KCQ0KCS0gSSBoYXZlbid0IG1pZ3JhdGVkIC9saXZl dGVzdC4gSSByZWFsbHkgcHJlZmVyIHRoZSBtb2NrIG9iamVjdCBhcHByb2FjaCBmb3INCglkYXRh YmFzZSB0ZXN0aW5nLiBJJ2QgbG92ZSB0byB0ZXN0IElzYWJlbGxlJ3MgY29kZSB3aXRob3V0IG5l ZWRpbmcgYQ0KCWRhdGFiYXNlLiBBbnkgdm9sdW50ZWVycz8/DQoJDQoJLSBJIGhhdmUgcHV0IGlu IGEgbmV3IC9sb2FkIHRyZWUsIHdpdGggdGhlIGxvYWQgdGVzdGluZyBjb2RlIGFuZCBzb21lDQoJ cGVyZm9ybWFuY2UgdGVzdHMgZm9yIFNwcmluZy4NCgkNCgktIFRoZSB0ZXN0cyBwYXNzLCBhbmQg d2l0aCBkZWJ1ZyBsb2dnaW5nIHdlIGhhdmUgNzUlIGNvdmVyYWdlIQ0KCQ0KCUJ0dyB3ZSBzaG91 bGQgYmUgYWJsZSB0byB1c2UgbW9jayB0ZXN0cyB0byB0ZXN0IGZvciBkaWZmZXJlbnQgZGIgcmVz b3VyY2UNCgljbG9zdXJlIGZhaWx1cmUgc2NlbmFyaW9zLg0KCQ0KCVJlZ2FyZHMsDQoJUm9kDQoJ DQoJLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQ0KCUZyb206IDxyb2Quam9obnNvbkBpbnRl cmZhY2UyMS5jb20+DQoJVG86ICJqw7xyZ2VuIGjDtmxsZXIgW3dlcmszQVRdICIgPGp1ZXJnZW4u aG9lbGxlckB3ZXJrM2F0LmNvbT4NCglDYzogPHNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXJAbGlz dHMuc291cmNlZm9yZ2UubmV0Pg0KCVNlbnQ6IFdlZG5lc2RheSwgQXVndXN0IDEzLCAyMDAzIDU6 MTQgUE0NCglTdWJqZWN0OiBSRTogW1NwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXJdIEFQSSBzaW1w bGlmaWNhdGlvbg0KCQ0KCQ0KCT4gSSd2ZSBkb25lIHRoZSBwYWNrYWdlIHJlbmFtZSBhbmQgd2ls bCBjb21taXQgaXQgdG8gYQ0KCT4gbmV3ICJzcHJpbmciIG1vZHVsZSB0b25pZ2h0Lg0KCT4NCgk+ IEknbGwgcG9zdCBtb3JlIGRldGFpbHMgd2hlbiBJJ20gZG9uZS4NCgk+DQoJPiBJJ3ZlIGJlZW4g Y29uc2lkZXJpbmcgc29tZSBwb3RlbnRpYWwgc2ltcGxpZmljYXRpb25zLiBJIGhhdGUNCgk+IGRl YWQgY29kZS0taXQgYWRkcyBibG9hdCBhbmQgbWFrZXMgZnJhbWV3b3JrcyBoYXJkZXIgdG8gdXNl Lg0KCT4gKEkndmUganVzdCBiZWVuIHdvcmtpbmcgd2l0aCBUb3BMaW5rLi4uKSBBcyB3ZSBwcm9n cmVzcyB0bw0KCT4gMS4wIGl0J3MgYSBnb29kIG9wcG9ydHVuaXR5IHRvIGN1dCBiYWNrIHRvIHRo ZQ0KCT4gZXNzZW50aWFscy4uLml0IHdpbGwgYmUgaGFyZCB0byByZW1vdmUgYW55dGhpbmcgKGhv d2V2ZXINCgk+IHVzZWxlc3MpIGFmdGVyd2FyZHMuDQoJPg0KCT4gQXMgYSBzdGFydCwgSSdtIGNv bnNpZGVyaW5nIHJlbW92aW5nIHRoZSBKYXZhQmVhbiBldmVudA0KCT4gc3VwcG9ydCBmcm9tIEJl YW5XcmFwcGVyLiBJJ3ZlIG5vdCB1c2VkIGl0IGluIGFueQ0KCT4gYXBwbGljYXRpb25zLiBIYXMg YW55b25lIGVsc2UgdXNlZCBpdD8NCgk+DQoJPiBOb3cgU3ByaW5nIGhhcyBBT1Agc3VwcG9ydCwg aXQncyBwb3NzaWJsZSB0byBhZGQgbGlzdGVuZXJzIHRvDQoJPiBwcm9wZXJ0eSBjaGFuZ2UgZXZl bnRzIHVzaW5nIGludGVyY2VwdG9ycywgcmF0aGVyIHRoYW4gdGhpcw0KCT4gcmF0aGVyIGtsdWRn eSBwYXJ0IG9mIHRoZSBKYXZhQmVhbnMgQVBJLg0KCT4NCgk+IFJlbW92aW5nIGV2ZW50IHN1cHBv cnQgd291bGQgZ2V0IHJpZCBvZiBhYm91dCAxNTAgbGluZXMgb2YNCgk+IGNvZGUgaW4gdGhlIGJl YW5zIHBhY2thZ2UsIGFuZCBzaW1wbGlmeSB0aGUgQVBJIGZvciB1c2Vycy4NCgk+DQoJPiBBbnkg dGhvdWdodHMgb24gdGhpcz8NCgk+DQoJPiBBbm90aGVyIGNhbmRpZGF0ZSBvbiBteSBwb3RlbnRp YWwgaGl0bGlzdCBpcyB0aGUgInBhc3MtDQoJPiB0aHJvdWdoIiBwcm9wZXJ0aWVzIHN1cHBvcnQg Zm9yIEZhY3RvcnlCZWFucy4gSSd2ZSBub3Qgc2VlbiBhDQoJPiBuZWVkIHRvIHVzZSB0aGlzIGlu IHByYWN0aWNlIChhbHRob3VnaCBJIGltcGxlbWVudGVkIGl0KS4NCgk+DQoJPiBSZWdhcmRzLA0K CT4gUm9kDQoJPg0KCT4NCgk+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCgk+IFRoaXMgU0YuTmV0IGVtYWlsIHNwb25zb3JlZCBieTogRnJl ZSBwcmUtYnVpbHQgQVNQLk5FVCBzaXRlcyBpbmNsdWRpbmcNCgk+IERhdGEgUmVwb3J0cywgRS1j b21tZXJjZSwgUG9ydGFscywgYW5kIEZvcnVtcyBhcmUgYXZhaWxhYmxlIG5vdy4NCgk+IERvd25s b2FkIHRvZGF5IGFuZCBlbnRlciB0byB3aW4gYW4gWEJPWCBvciBWaXN1YWwgU3R1ZGlvIC5ORVQu DQoJPg0KCWh0dHA6Ly9hc3BuZXQuY2xpY2stdXJsLmNvbS9nby9wc2EwMDEwMDAwM2F2ZS9kaXJl Y3Q7YXQuYXNwbmV0XzA3MjMwM18wMS8wMQ0KCT4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCgk+IFNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXIgbWFpbGlu ZyBsaXN0DQoJPiBTcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5l dA0KCT4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc3ByaW5n ZnJhbWV3b3JrLWRldmVsb3Blcg0KCT4NCgkNCgkNCgkNCg0K |
|
From: <rod...@in...> - 2003-08-14 09:54:33
|
- The web.tags package was lacking. I picked the last one of 0.9, made the changes and added the files including the tld. I don't know if, of an CVS point of view, it was the right way. Thanks JP. I don't know how this happened as I took a snapshot of the latest main. - The eclipse path includes the libraries of 'lib' except xercesImpl.jar somewhere in Rod's machine I suppose. I downloaded the last version(2.5.0) and added it under lib/xerces to have a generic complete dependencies path. Thanks. - The eclipse project file was not declared as java, also updated. I have here a question. Was this intentionally and if yes how has this to be managed? Different copies of the framework? Actually I use directly the shared project setting just '.cvsignore' for local parts as 'docs/api', '.classes', 'dist', ... I meant to delete the project file, but since it is checked in thanks for fixing it up and it should be valuable. No, the non-java thing was not intentional. Regards, Rod |
|
From: =?iso-8859-1?Q?<jp....@ti...> - 2003-08-14 08:45:06
|
Hi,=0D=0A=0D=0AI downloaded this morining the new Spring.=0D=0A=0D=0A- Th= e web.tags package was lacking. I picked the last one of 0.9, made the ch= anges and added the files including the tld. I don't know if, of an CVS p= oint of view, it was the right way.=0D=0A=0D=0A- The eclipse path include= s the libraries of 'lib' except xercesImpl.jar somewhere in Rod's machine= I suppose. I downloaded the last version(2.5.0) and added it under lib/x= erces to have a generic complete dependencies path.=0D=0A=0D=0A- The ecli= pse project file was not declared as java, also updated. I have here a qu= estion. Was this intentionally and if yes how has this to be managed? Dif= ferent copies of the framework? Actually I use directly the shared projec= t setting just '.cvsignore' for local parts as 'docs/api', '.classes', 'd= ist', ...=0D=0A=0D=0ARegards,=0D=0AJean-Pierre=0D=0A=0A=0A********** L'AD= SL A 20 EUR/MOIS**********=0ATiscali propose l'ADSL le moins cher du marc= h=E9 : 20 EUR/mois et le modem ADSL offert ! =0APour profiter de cette of= fre exceptionnelle, cliquez ici : http://register.tiscali.fr/adsl/=0AOffr= e soumise =E0 conditions.=0A |
|
From: Rod J. <rod...@in...> - 2003-08-14 08:07:45
|
All,
Thomas has now completed the job and put the code in the existing "Spring"
module. Please work on this by preference.
The snapshot was taken at Aug 13 at 0800 GMT: any changes since to the main
module will need to be manually replicated.
Notes:
- I haven't included the samples. I thought it would be better for JP and
Ken to add these once they're modified. Changing the imports etc is easy
with something like this:
<replace dir="whatever" token="com.interface21"
value="org.springframework">
<exclude name="*.jar"/>
</replace>
- I haven't migrated /livetest. I really prefer the mock object approach for
database testing. I'd love to test Isabelle's code without needing a
database. Any volunteers??
- I have put in a new /load tree, with the load testing code and some
performance tests for Spring.
- The tests pass, and with debug logging we have 75% coverage!
Btw we should be able to use mock tests to test for different db resource
closure failure scenarios.
Regards,
Rod
----- Original Message -----
From: <rod...@in...>
To: "jürgen höller [werk3AT] " <jue...@we...>
Cc: <spr...@li...>
Sent: Wednesday, August 13, 2003 5:14 PM
Subject: RE: [Springframework-developer] API simplification
> I've done the package rename and will commit it to a
> new "spring" module tonight.
>
> I'll post more details when I'm done.
>
> I've been considering some potential simplifications. I hate
> dead code--it adds bloat and makes frameworks harder to use.
> (I've just been working with TopLink...) As we progress to
> 1.0 it's a good opportunity to cut back to the
> essentials...it will be hard to remove anything (however
> useless) afterwards.
>
> As a start, I'm considering removing the JavaBean event
> support from BeanWrapper. I've not used it in any
> applications. Has anyone else used it?
>
> Now Spring has AOP support, it's possible to add listeners to
> property change events using interceptors, rather than this
> rather kludgy part of the JavaBeans API.
>
> Removing event support would get rid of about 150 lines of
> code in the beans package, and simplify the API for users.
>
> Any thoughts on this?
>
> Another candidate on my potential hitlist is the "pass-
> through" properties support for FactoryBeans. I've not seen a
> need to use this in practice (although I implemented it).
>
> Regards,
> Rod
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
|
|
From: <rod...@in...> - 2003-08-14 03:22:23
|
I've done the package rename and will commit it to a new "spring" module tonight. I'll post more details when I'm done. I've been considering some potential simplifications. I hate dead code--it adds bloat and makes frameworks harder to use. (I've just been working with TopLink...) As we progress to 1.0 it's a good opportunity to cut back to the essentials...it will be hard to remove anything (however useless) afterwards. As a start, I'm considering removing the JavaBean event support from BeanWrapper. I've not used it in any applications. Has anyone else used it? Now Spring has AOP support, it's possible to add listeners to property change events using interceptors, rather than this rather kludgy part of the JavaBeans API. Removing event support would get rid of about 150 lines of code in the beans package, and simplify the API for users. Any thoughts on this? Another candidate on my potential hitlist is the "pass- through" properties support for FactoryBeans. I've not seen a need to use this in practice (although I implemented it). Regards, Rod |
|
From: Kopylenko, D. <dko...@ac...> - 2003-08-13 23:34:17
|
Thomas, yes, that is the way to go :-)
-----Original Message-----
From: tri...@tr...
To: Kopylenko, Dmitry
Cc: 'springframework-developer'
Sent: 8/13/2003 3:02 PM
Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
Dmitry,
I think that would work, but I don't know if we need all the extra
exceptions
thrown - if everything went OK, you could end up with
CleanupFailureDataAccessExceptions when you try to close the resultset a
second
time in the finally block.
I was thinking of adding the resultset/statement closing in the catch
block -
usually they are closed inside of the try block. In the case of an
exception
beeing thrown we can assume that if the resource is not null, then it
has been
created, but most likely it has not been closed -- so we should try to
close it.
Doing it this way, we don't incurr any extra processing in normal
processing or
risk any extra exceptions beeing thrown.
Something like this:
public void doWithResultSetFromStaticQuery(... ) throws
DataAccessException {
//
//
//
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
//
//
//
rs.close();
s.close();
}
catch (SQLException ex) {
if (rs != null) try {rs.close();} catch(SQLException ignore) {}
if (s != null) try {s.close();} catch(SQLException ignore) {}
throw getExceptionTranslater().translate(... );
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con, this.dataSource);
}
}
What do you think?
Thomas
Quoting "Kopylenko, Dmitry" <dko...@ac...>:
> So the "finally block" for this method would look like this:
>
> finally {
> try {
> rs.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed to
close
> ResultSet", ex);
> }
> try {
> s.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed to
close
> Statement", ex);
> }
> DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
> }
>
> I could make a change if no one objects.
>
> Dmitriy.
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 1:13 PM
> To: 'springframework-developer'
> Subject: FW: [Springframework-developer]
JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> To the list...
>
> -----Original Message-----
> From: Levkovitch, Lidia
> Sent: Wednesday, August 13, 2003 1:12 PM
> To: Kopylenko, Dmitry
> Subject: RE: [Springframework-developer]
JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> Well, IMHO, one can't rely on that. I believe I've seen instances when
a
> connection was closed, leaving behind open cursors (i.e. result sets).
>
> I would add rs.close() and s.close() to the finally block, and put
each of
> them into try {} catch (everything) {//do nothing...}
>
> Lidia
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 12:51 PM
> To: 'Justinus Menzel'; 'springframework-developer'
> Subject: RE: [Springframework-developer]
JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
> Would closing connection automatically take care of closing Statement
and
> ResultSet? I guess it all depends on the JDBC driver.
>
> Dmitriy.
>
> -----Original Message-----
> From: Justinus Menzel [mailto:jus...@lb...]
> Sent: Wednesday, August 13, 2003 12:09 PM
> To: springframework-developer
> Subject: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromStaticQuery cleanups
>
>
> Hi,
>
> first let me tell you that Spring is great, you guys rock!
>
> Now to the question: if you look into
> JdbcTemplate.doWithResultSetFromStaticQuery():
> ...
> try {
> con = DataSourceUtils.getConnection(this.dataSource);
> s = con.createStatement();
> rs = s.executeQuery(sql);
>
> if (logger.isInfoEnabled())
> logger.info("Executing static SQL query '" + sql + "'
> using a java.sql.Statement");
>
> rse.extractData(rs);
>
> SQLWarning warning = s.getWarnings();
> rs.close();
> s.close();
>
> throwExceptionOnWarningIfNotIgnoringWarnings(warning);
> }
> catch (SQLException ex) {
> throw
> getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql,
ex);
> }
> finally {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> }
> ...
>
> it seems like rs.close() and s.close() will be executed only if there
> was no exception thrown from
> rse.extractData(). s.close will only be executed if rs =
> s.executeQuery(sql); did OK.
> So my question is: why don't both close() go into the finally block?
The
> reason why I'm asking this is that we had a few problems with
> running out of cursors
> in our application server and we also had a few
> examples of queries not working correctly with certain input
parameters.
>
> any comments are much appreciated
> thanks
>
> Justinus
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data
> Reports, E-commerce, Portals, and Forums are available now. Download
today
> and enter to win an XBOX or Visual Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01
/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data
> Reports, E-commerce, Portals, and Forums are available now. Download
today
> and enter to win an XBOX or Visual Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01
/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data
> Reports, E-commerce, Portals, and Forums are available now. Download
today
> and enter to win an XBOX or Visual Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01
/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
>
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01
/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
|
|
From: Ken K. <kk...@kk...> - 2003-08-13 22:35:21
|
Rod, I have some reservations about your proposed deletions. I've been considering a non-J2EE Spring project that would need to use property change listeners and am not sure about going down the AOP route for this. The FactoryBean "pass- through" properties support also sounds useful for this project. Sorry I can't be more certain about needing these features at this time as I just don't have the time right now to look into it more deeply. BTW, got any good reading material recommendations for getting started with AOP ? Regards, Ken >I've done the package rename and will commit it to a > new "spring" module tonight. > > I'll post more details when I'm done. > > I've been considering some potential simplifications. I hate > dead code--it adds bloat and makes frameworks harder to use. > (I've just been working with TopLink...) As we progress to > 1.0 it's a good opportunity to cut back to the > essentials...it will be hard to remove anything (however > useless) afterwards. > > As a start, I'm considering removing the JavaBean event > support from BeanWrapper. I've not used it in any > applications. Has anyone else used it? > > Now Spring has AOP support, it's possible to add listeners to > property change events using interceptors, rather than this > rather kludgy part of the JavaBeans API. > > Removing event support would get rid of about 150 lines of > code in the beans package, and simplify the API for users. > > Any thoughts on this? > > Another candidate on my potential hitlist is the "pass- > through" properties support for FactoryBeans. I've not seen a > need to use this in practice (although I implemented it). > > Regards, > Rod > > > |
|
From: <jue...@we...> - 2003-08-13 19:47:15
|
UmVtb3ZpbmcgdGhlIGJlYW4gZXZlbnQgc3VwcG9ydCBpcyBmaW5lIHdpdGggbWUuIFNhbWUgZm9y IHRoZSBGYWN0b3J5QmVhbiBwYXNzLXRocm91Z2ggcHJvcGVydGllcy4gSSBhbHNvIHdvbmRlciBh Ym91dCB0aGUgc2hhcmVkT2JqZWN0IHN1cHBvcnQgaW4gQXBwbGljYXRpb25Db250ZXh0OiBJIGhh dmVuJ3Qgc2VlbiB0aGF0IGluIGFjdGlvbiBlaXRoZXIuDQogDQpCVFcsIGhhdmUgeW91IG1pZ3Jh dGVkIHRoZSBwYWNrYWdlIG5hbWVzIG9mIENvdW50cmllcyBhbmQgUGV0Y2xpbmljIHRvbz8NCiAN Ckp1ZXJnZW4NCiANCiANCg0KCS0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0gDQoJ Vm9uOiByb2Quam9obnNvbkBpbnRlcmZhY2UyMS5jb20gW21haWx0bzpyb2Quam9obnNvbkBpbnRl cmZhY2UyMS5jb21dIA0KCUdlc2VuZGV0OiBNaSAxMy4wOC4yMDAzIDE4OjE0IA0KCUFuOiBqw7xy Z2VuIGjDtmxsZXIgW3dlcmszQVRdIA0KCUNjOiBzcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyQGxp c3RzLnNvdXJjZWZvcmdlLm5ldCANCglCZXRyZWZmOiBSRTogW1NwcmluZ2ZyYW1ld29yay1kZXZl bG9wZXJdIEFQSSBzaW1wbGlmaWNhdGlvbg0KCQ0KCQ0KDQoJSSd2ZSBkb25lIHRoZSBwYWNrYWdl IHJlbmFtZSBhbmQgd2lsbCBjb21taXQgaXQgdG8gYQ0KCW5ldyAic3ByaW5nIiBtb2R1bGUgdG9u aWdodC4NCgkNCglJJ2xsIHBvc3QgbW9yZSBkZXRhaWxzIHdoZW4gSSdtIGRvbmUuDQoJDQoJSSd2 ZSBiZWVuIGNvbnNpZGVyaW5nIHNvbWUgcG90ZW50aWFsIHNpbXBsaWZpY2F0aW9ucy4gSSBoYXRl DQoJZGVhZCBjb2RlLS1pdCBhZGRzIGJsb2F0IGFuZCBtYWtlcyBmcmFtZXdvcmtzIGhhcmRlciB0 byB1c2UuDQoJKEkndmUganVzdCBiZWVuIHdvcmtpbmcgd2l0aCBUb3BMaW5rLi4uKSBBcyB3ZSBw cm9ncmVzcyB0bw0KCTEuMCBpdCdzIGEgZ29vZCBvcHBvcnR1bml0eSB0byBjdXQgYmFjayB0byB0 aGUNCgllc3NlbnRpYWxzLi4uaXQgd2lsbCBiZSBoYXJkIHRvIHJlbW92ZSBhbnl0aGluZyAoaG93 ZXZlcg0KCXVzZWxlc3MpIGFmdGVyd2FyZHMuDQoJDQoJQXMgYSBzdGFydCwgSSdtIGNvbnNpZGVy aW5nIHJlbW92aW5nIHRoZSBKYXZhQmVhbiBldmVudA0KCXN1cHBvcnQgZnJvbSBCZWFuV3JhcHBl ci4gSSd2ZSBub3QgdXNlZCBpdCBpbiBhbnkNCglhcHBsaWNhdGlvbnMuIEhhcyBhbnlvbmUgZWxz ZSB1c2VkIGl0Pw0KCQ0KCU5vdyBTcHJpbmcgaGFzIEFPUCBzdXBwb3J0LCBpdCdzIHBvc3NpYmxl IHRvIGFkZCBsaXN0ZW5lcnMgdG8NCglwcm9wZXJ0eSBjaGFuZ2UgZXZlbnRzIHVzaW5nIGludGVy Y2VwdG9ycywgcmF0aGVyIHRoYW4gdGhpcw0KCXJhdGhlciBrbHVkZ3kgcGFydCBvZiB0aGUgSmF2 YUJlYW5zIEFQSS4NCgkNCglSZW1vdmluZyBldmVudCBzdXBwb3J0IHdvdWxkIGdldCByaWQgb2Yg YWJvdXQgMTUwIGxpbmVzIG9mDQoJY29kZSBpbiB0aGUgYmVhbnMgcGFja2FnZSwgYW5kIHNpbXBs aWZ5IHRoZSBBUEkgZm9yIHVzZXJzLg0KCQ0KCUFueSB0aG91Z2h0cyBvbiB0aGlzPw0KCQ0KCUFu b3RoZXIgY2FuZGlkYXRlIG9uIG15IHBvdGVudGlhbCBoaXRsaXN0IGlzIHRoZSAicGFzcy0NCgl0 aHJvdWdoIiBwcm9wZXJ0aWVzIHN1cHBvcnQgZm9yIEZhY3RvcnlCZWFucy4gSSd2ZSBub3Qgc2Vl biBhDQoJbmVlZCB0byB1c2UgdGhpcyBpbiBwcmFjdGljZSAoYWx0aG91Z2ggSSBpbXBsZW1lbnRl ZCBpdCkuDQoJDQoJUmVnYXJkcywNCglSb2QNCgkNCg0K |
|
From: Tim D. <ti...@dw...> - 2003-08-13 19:28:48
|
Unless I'm missing something, wouldn't your "throw new Exception" in
the catch of rs.close() keep it from going on to the s.close() block?
Likewise, throwing an exception in the catch of s.close() would
prevent it from getting to DataSourceUtils.closeConnectionIfNecessary
().
I would imagine that is *not* the desired behavior...
Quoting "Kopylenko, Dmitry" <dko...@su...>:
> So the "finally block" for this method would look like this:
>
> finally {
> try {
> rs.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed
to close
> ResultSet", ex);
> }
> try {
> s.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed
to close
> Statement", ex);
> }
> DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
> }
>
> I could make a change if no one objects.
>
> Dmitriy.
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 1:13 PM
> To: 'springframework-developer'
> Subject: FW: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> To the list...
>
> -----Original Message-----
> From: Levkovitch, Lidia
> Sent: Wednesday, August 13, 2003 1:12 PM
> To: Kopylenko, Dmitry
> Subject: RE: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> Well, IMHO, one can't rely on that. I believe I've seen instances
> when a
> connection was closed, leaving behind open cursors (i.e. result
> sets).
>
> I would add rs.close() and s.close() to the finally block, and put
> each of
> them into try {} catch (everything) {//do nothing...}
>
> Lidia
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 12:51 PM
> To: 'Justinus Menzel'; 'springframework-developer'
> Subject: RE: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
> Would closing connection automatically take care of closing Statement
> and
> ResultSet? I guess it all depends on the JDBC driver.
>
> Dmitriy.
>
> -----Original Message-----
> From: Justinus Menzel
> [mailto:jus...@lb...]
> Sent: Wednesday, August 13, 2003 12:09 PM
> To: springframework-developer
> Subject: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromStaticQuery cleanups
>
>
> Hi,
>
> first let me tell you that Spring is great, you guys rock!
>
> Now to the question: if you look into
> JdbcTemplate.doWithResultSetFromStaticQuery():
> ...
> try {
> con = DataSourceUtils.getConnection(this.dataSource);
> s = con.createStatement();
> rs = s.executeQuery(sql);
>
> if (logger.isInfoEnabled())
> logger.info("Executing static SQL query '" + sql + "'
>
> using a java.sql.Statement");
>
> rse.extractData(rs);
>
> SQLWarning warning = s.getWarnings();
> rs.close();
> s.close();
>
> throwExceptionOnWarningIfNotIgnoringWarnings(warning);
> }
> catch (SQLException ex) {
> throw
> getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql,
> ex);
> }
> finally {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> }
> ...
>
> it seems like rs.close() and s.close() will be executed only if there
>
> was no exception thrown from
> rse.extractData(). s.close will only be executed if rs =
> s.executeQuery(sql); did OK.
> So my question is: why don't both close() go into the finally block?
> The
> reason why I'm asking this is that we had a few problems with
> running out of cursors
> in our application server and we also had a few
> examples of queries not working correctly with certain input
> parameters.
>
> any comments are much appreciated
> thanks
>
> Justinus
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites
> including Data
> Reports, E-commerce, Portals, and Forums are available now. Download
> today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-
url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-
developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites
> including Data
> Reports, E-commerce, Portals, and Forums are available now. Download
> today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-
url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-
developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites
> including Data
> Reports, E-commerce, Portals, and Forums are available now. Download
> today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-
url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-
developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites
> including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-
url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-
developer
>
|
|
From: <tri...@tr...> - 2003-08-13 19:26:29
|
Dmitry,
I think that would work, but I don't know if we need all the extra exceptions
thrown - if everything went OK, you could end up with
CleanupFailureDataAccessExceptions when you try to close the resultset a second
time in the finally block.
I was thinking of adding the resultset/statement closing in the catch block -
usually they are closed inside of the try block. In the case of an exception
beeing thrown we can assume that if the resource is not null, then it has been
created, but most likely it has not been closed -- so we should try to close it.
Doing it this way, we don't incurr any extra processing in normal processing or
risk any extra exceptions beeing thrown.
Something like this:
public void doWithResultSetFromStaticQuery(... ) throws DataAccessException {
//
//
//
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
//
//
//
rs.close();
s.close();
}
catch (SQLException ex) {
if (rs != null) try {rs.close();} catch(SQLException ignore) {}
if (s != null) try {s.close();} catch(SQLException ignore) {}
throw getExceptionTranslater().translate(... );
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con, this.dataSource);
}
}
What do you think?
Thomas
Quoting "Kopylenko, Dmitry" <dko...@ac...>:
> So the "finally block" for this method would look like this:
>
> finally {
> try {
> rs.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed to close
> ResultSet", ex);
> }
> try {
> s.close();
> }
> catch (SQLException ex) {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> throw new CleanupFailureDataAccessException("Failed to close
> Statement", ex);
> }
> DataSourceUtils.closeConnectionIfNecessary(con, this.dataSource);
> }
>
> I could make a change if no one objects.
>
> Dmitriy.
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 1:13 PM
> To: 'springframework-developer'
> Subject: FW: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> To the list...
>
> -----Original Message-----
> From: Levkovitch, Lidia
> Sent: Wednesday, August 13, 2003 1:12 PM
> To: Kopylenko, Dmitry
> Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
>
> Well, IMHO, one can't rely on that. I believe I've seen instances when a
> connection was closed, leaving behind open cursors (i.e. result sets).
>
> I would add rs.close() and s.close() to the finally block, and put each of
> them into try {} catch (everything) {//do nothing...}
>
> Lidia
>
> -----Original Message-----
> From: Kopylenko, Dmitry [mailto:dko...@ac...]
> Sent: Wednesday, August 13, 2003 12:51 PM
> To: 'Justinus Menzel'; 'springframework-developer'
> Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
> taticQuery cleanups
>
> Would closing connection automatically take care of closing Statement and
> ResultSet? I guess it all depends on the JDBC driver.
>
> Dmitriy.
>
> -----Original Message-----
> From: Justinus Menzel [mailto:jus...@lb...]
> Sent: Wednesday, August 13, 2003 12:09 PM
> To: springframework-developer
> Subject: [Springframework-developer]
> JdbcTemplate.doWithResultSetFromStaticQuery cleanups
>
>
> Hi,
>
> first let me tell you that Spring is great, you guys rock!
>
> Now to the question: if you look into
> JdbcTemplate.doWithResultSetFromStaticQuery():
> ...
> try {
> con = DataSourceUtils.getConnection(this.dataSource);
> s = con.createStatement();
> rs = s.executeQuery(sql);
>
> if (logger.isInfoEnabled())
> logger.info("Executing static SQL query '" + sql + "'
> using a java.sql.Statement");
>
> rse.extractData(rs);
>
> SQLWarning warning = s.getWarnings();
> rs.close();
> s.close();
>
> throwExceptionOnWarningIfNotIgnoringWarnings(warning);
> }
> catch (SQLException ex) {
> throw
> getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
> }
> finally {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> }
> ...
>
> it seems like rs.close() and s.close() will be executed only if there
> was no exception thrown from
> rse.extractData(). s.close will only be executed if rs =
> s.executeQuery(sql); did OK.
> So my question is: why don't both close() go into the finally block? The
> reason why I'm asking this is that we had a few problems with
> running out of cursors
> in our application server and we also had a few
> examples of queries not working correctly with certain input parameters.
>
> any comments are much appreciated
> thanks
>
> Justinus
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
> Reports, E-commerce, Portals, and Forums are available now. Download today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
> Reports, E-commerce, Portals, and Forums are available now. Download today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
> Reports, E-commerce, Portals, and Forums are available now. Download today
> and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
|
|
From: Justinus M. <jus...@lb...> - 2003-08-13 19:03:11
|
thanks for these fast replies.
I'll try Colin's approach for now until we migrate to JDBC 3.0.
Cheers
Justinus
Colin Sampaleanu wrote:
> This is wrong. The best mechanism I've seen to handle this is
> something like
>
> ResultSet rs;
> Statement s;
> Connection conn;
> try {
> ...
> rs.close();
> rs = null;
> s.close();
> s = null;
> conn.close();
> conn = null;
> }
> catch (whatever) {
> throw whatever...
> }
> finally {
> DataSourceUtils.closeIfNotNull(rs, s, conn);
> }
>
>
> where closeIfNotNull is a simple util which does oa close on the
> resultset, statement, and connection, respectively, but only if the
> item is not null, and silently swallows SQLExceptions.
>
> In this fashion, you catch and propogate all SQLExceptions on normal
> usage of the resultset, statement, or connection, including the
> closing of those items, but even if there is an exception, the items
> are actually closed...
>
> Regards,
>
> Colin
|
|
From: <tri...@tr...> - 2003-08-13 18:39:23
|
According to JDBC 3.0 a pooled connection should close any statements when the close method is called, and so should a non-pooled connection. A statement should close any resultsets when it is closed. I don't think JDBC 2.0 was that explicit, and there might be a few JDBC drivers that are not well behaved. I'll take a look at adding close statements for all resultsets and statements in addition to the connections. This should not harm current functionality. Thomas > > > Kopylenko, Dmitry wrote: > > >Would closing connection automatically take care of closing Statement and > >ResultSet? I guess it all depends on the JDBC driver. > > > > > well the thing is if it's a pooled connection, closing it doesn't really > do anything except > to return it to the pool. At least according to my naive understanding > of things. > But I might be wrong. > > Cheers > > Justinus > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |
|
From: Colin S. <col...@ex...> - 2003-08-13 17:56:07
|
This is wrong. The best mechanism I've seen to handle this is something like
ResultSet rs;
Statement s;
Connection conn;
try {
...
rs.close();
rs = null;
s.close();
s = null;
conn.close();
conn = null;
}
catch (whatever) {
throw whatever...
}
finally {
DataSourceUtils.closeIfNotNull(rs, s, conn);
}
where closeIfNotNull is a simple util which does oa close on the
resultset, statement, and connection, respectively, but only if the item
is not null, and silently swallows SQLExceptions.
In this fashion, you catch and propogate all SQLExceptions on normal
usage of the resultset, statement, or connection, including the closing
of those items, but even if there is an exception, the items are
actually closed...
Regards,
Colin
Justinus Menzel wrote:
> Hi,
>
> first let me tell you that Spring is great, you guys rock!
>
> Now to the question: if you look into
> JdbcTemplate.doWithResultSetFromStaticQuery():
> ...
> try {
> con = DataSourceUtils.getConnection(this.dataSource);
> s = con.createStatement();
> rs = s.executeQuery(sql);
>
> if (logger.isInfoEnabled())
> logger.info("Executing static SQL query '" + sql + "'
> using a java.sql.Statement");
>
> rse.extractData(rs);
>
> SQLWarning warning = s.getWarnings();
> rs.close();
> s.close();
>
> throwExceptionOnWarningIfNotIgnoringWarnings(warning);
> }
> catch (SQLException ex) {
> throw
> getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
> }
> finally {
> DataSourceUtils.closeConnectionIfNecessary(con,
> this.dataSource);
> }
> ...
>
> it seems like rs.close() and s.close() will be executed only if there
> was no exception thrown from
> rse.extractData(). s.close will only be executed if rs =
> s.executeQuery(sql); did OK.
> So my question is: why don't both close() go into the finally block?
> The reason why I'm asking this is that we had a few problems with
> running out of cursors
> in our application server and we also had a few
> examples of queries not working correctly with certain input parameters.
>
> any comments are much appreciated
> thanks
>
> Justinus
|
|
From: Kopylenko, D. <dko...@ac...> - 2003-08-13 17:37:40
|
Well, Justinus, you are right. -----Original Message----- From: Justinus Menzel [mailto:jus...@lb...] Sent: Wednesday, August 13, 2003 1:13 PM To: spr...@li... Subject: Re: [Springframework-developer] JdbcTemplate.doWithResultSetFromStaticQuery cleanups Kopylenko, Dmitry wrote: >Would closing connection automatically take care of closing Statement >and ResultSet? I guess it all depends on the JDBC driver. > > well the thing is if it's a pooled connection, closing it doesn't really do anything except to return it to the pool. At least according to my naive understanding of things. But I might be wrong. Cheers Justinus ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Kopylenko, D. <dko...@ac...> - 2003-08-13 17:37:05
|
So the "finally block" for this method would look like this:
finally {
try {
rs.close();
}
catch (SQLException ex) {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
throw new CleanupFailureDataAccessException("Failed to close
ResultSet", ex);
}
try {
s.close();
}
catch (SQLException ex) {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
throw new CleanupFailureDataAccessException("Failed to close
Statement", ex);
}
DataSourceUtils.closeConnectionIfNecessary(con, this.dataSource);
}
I could make a change if no one objects.
Dmitriy.
-----Original Message-----
From: Kopylenko, Dmitry [mailto:dko...@ac...]
Sent: Wednesday, August 13, 2003 1:13 PM
To: 'springframework-developer'
Subject: FW: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
To the list...
-----Original Message-----
From: Levkovitch, Lidia
Sent: Wednesday, August 13, 2003 1:12 PM
To: Kopylenko, Dmitry
Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
Well, IMHO, one can't rely on that. I believe I've seen instances when a
connection was closed, leaving behind open cursors (i.e. result sets).
I would add rs.close() and s.close() to the finally block, and put each of
them into try {} catch (everything) {//do nothing...}
Lidia
-----Original Message-----
From: Kopylenko, Dmitry [mailto:dko...@ac...]
Sent: Wednesday, August 13, 2003 12:51 PM
To: 'Justinus Menzel'; 'springframework-developer'
Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
Would closing connection automatically take care of closing Statement and
ResultSet? I guess it all depends on the JDBC driver.
Dmitriy.
-----Original Message-----
From: Justinus Menzel [mailto:jus...@lb...]
Sent: Wednesday, August 13, 2003 12:09 PM
To: springframework-developer
Subject: [Springframework-developer]
JdbcTemplate.doWithResultSetFromStaticQuery cleanups
Hi,
first let me tell you that Spring is great, you guys rock!
Now to the question: if you look into
JdbcTemplate.doWithResultSetFromStaticQuery():
...
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
if (logger.isInfoEnabled())
logger.info("Executing static SQL query '" + sql + "'
using a java.sql.Statement");
rse.extractData(rs);
SQLWarning warning = s.getWarnings();
rs.close();
s.close();
throwExceptionOnWarningIfNotIgnoringWarnings(warning);
}
catch (SQLException ex) {
throw
getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
}
...
it seems like rs.close() and s.close() will be executed only if there
was no exception thrown from
rse.extractData(). s.close will only be executed if rs =
s.executeQuery(sql); did OK.
So my question is: why don't both close() go into the finally block? The
reason why I'm asking this is that we had a few problems with
running out of cursors
in our application server and we also had a few
examples of queries not working correctly with certain input parameters.
any comments are much appreciated
thanks
Justinus
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Justinus M. <jus...@lb...> - 2003-08-13 17:30:05
|
Kopylenko, Dmitry wrote: >Would closing connection automatically take care of closing Statement and >ResultSet? I guess it all depends on the JDBC driver. > > well the thing is if it's a pooled connection, closing it doesn't really do anything except to return it to the pool. At least according to my naive understanding of things. But I might be wrong. Cheers Justinus |
|
From: Kopylenko, D. <dko...@ac...> - 2003-08-13 17:29:06
|
To the list...
-----Original Message-----
From: Levkovitch, Lidia
Sent: Wednesday, August 13, 2003 1:12 PM
To: Kopylenko, Dmitry
Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
Well, IMHO, one can't rely on that. I believe I've seen instances when a
connection was closed, leaving behind open cursors (i.e. result sets).
I would add rs.close() and s.close() to the finally block, and put each of
them into try {} catch (everything) {//do nothing...}
Lidia
-----Original Message-----
From: Kopylenko, Dmitry [mailto:dko...@ac...]
Sent: Wednesday, August 13, 2003 12:51 PM
To: 'Justinus Menzel'; 'springframework-developer'
Subject: RE: [Springframework-developer] JdbcTemplate.doWithResultSetFromS
taticQuery cleanups
Would closing connection automatically take care of closing Statement and
ResultSet? I guess it all depends on the JDBC driver.
Dmitriy.
-----Original Message-----
From: Justinus Menzel [mailto:jus...@lb...]
Sent: Wednesday, August 13, 2003 12:09 PM
To: springframework-developer
Subject: [Springframework-developer]
JdbcTemplate.doWithResultSetFromStaticQuery cleanups
Hi,
first let me tell you that Spring is great, you guys rock!
Now to the question: if you look into
JdbcTemplate.doWithResultSetFromStaticQuery():
...
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
if (logger.isInfoEnabled())
logger.info("Executing static SQL query '" + sql + "'
using a java.sql.Statement");
rse.extractData(rs);
SQLWarning warning = s.getWarnings();
rs.close();
s.close();
throwExceptionOnWarningIfNotIgnoringWarnings(warning);
}
catch (SQLException ex) {
throw
getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
}
...
it seems like rs.close() and s.close() will be executed only if there
was no exception thrown from
rse.extractData(). s.close will only be executed if rs =
s.executeQuery(sql); did OK.
So my question is: why don't both close() go into the finally block? The
reason why I'm asking this is that we had a few problems with
running out of cursors
in our application server and we also had a few
examples of queries not working correctly with certain input parameters.
any comments are much appreciated
thanks
Justinus
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Kopylenko, D. <dko...@ac...> - 2003-08-13 16:58:03
|
Would closing connection automatically take care of closing Statement and
ResultSet? I guess it all depends on the JDBC driver.
Dmitriy.
-----Original Message-----
From: Justinus Menzel [mailto:jus...@lb...]
Sent: Wednesday, August 13, 2003 12:09 PM
To: springframework-developer
Subject: [Springframework-developer]
JdbcTemplate.doWithResultSetFromStaticQuery cleanups
Hi,
first let me tell you that Spring is great, you guys rock!
Now to the question: if you look into
JdbcTemplate.doWithResultSetFromStaticQuery():
...
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
if (logger.isInfoEnabled())
logger.info("Executing static SQL query '" + sql + "'
using a java.sql.Statement");
rse.extractData(rs);
SQLWarning warning = s.getWarnings();
rs.close();
s.close();
throwExceptionOnWarningIfNotIgnoringWarnings(warning);
}
catch (SQLException ex) {
throw
getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
}
...
it seems like rs.close() and s.close() will be executed only if there
was no exception thrown from
rse.extractData(). s.close will only be executed if rs =
s.executeQuery(sql); did OK.
So my question is: why don't both close() go into the finally block? The
reason why I'm asking this is that we had a few problems with
running out of cursors
in our application server and we also had a few
examples of queries not working correctly with certain input parameters.
any comments are much appreciated
thanks
Justinus
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data
Reports, E-commerce, Portals, and Forums are available now. Download today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: Justinus M. <jus...@lb...> - 2003-08-13 16:35:32
|
Hi,
first let me tell you that Spring is great, you guys rock!
Now to the question: if you look into
JdbcTemplate.doWithResultSetFromStaticQuery():
...
try {
con = DataSourceUtils.getConnection(this.dataSource);
s = con.createStatement();
rs = s.executeQuery(sql);
if (logger.isInfoEnabled())
logger.info("Executing static SQL query '" + sql + "'
using a java.sql.Statement");
rse.extractData(rs);
SQLWarning warning = s.getWarnings();
rs.close();
s.close();
throwExceptionOnWarningIfNotIgnoringWarnings(warning);
}
catch (SQLException ex) {
throw
getExceptionTranslater().translate("JdbcTemplate.query(sql)", sql, ex);
}
finally {
DataSourceUtils.closeConnectionIfNecessary(con,
this.dataSource);
}
...
it seems like rs.close() and s.close() will be executed only if there
was no exception thrown from
rse.extractData(). s.close will only be executed if rs =
s.executeQuery(sql); did OK.
So my question is: why don't both close() go into the finally block?
The reason why I'm asking this is that we had a few problems with
running out of cursors
in our application server and we also had a few
examples of queries not working correctly with certain input parameters.
any comments are much appreciated
thanks
Justinus
|
|
From: <jue...@we...> - 2003-08-13 12:20:28
|
Hi Jean-Pierre,
That failure is caused by a bug in BeanWrapperImpl: Its =
getPropertyDescriptor method doesn't properly check for nested paths. =
I'll commit the fix in a few minutes.
Juergen
-----Original Message-----
From: jp....@ti... [mailto:jp....@ti...]
Sent: Wednesday, August 13, 2003 12:19 PM
To: spr...@li...
Subject: [Springframework-developer] Tags issue
Hi Juergen,
I have an issue with the new tags. This worked before yesterday's =
changes. It's about the "bind" tag. In case of subelements, it doesn't =
more search in the objects tree and searches for the "dotted" property =
instead. In the below example the command contains a "person" property =
which has a "name" property. The log tell me that the property =
"person.name" doesn't exist. But even if it is null at this point of the =
application, the "name" of "person" still exists.
Regards,
Jean-Pierre
The jsp involved is
<%@ include file=3D"/WEB-INF/vues/jsp/commun/includes.jsp" %>
<p>
<spring:bind path=3D"command.person.name">
<span class=3D"error"><c:out =
value=3D"${status.errorMessage}"/></span>
<p class=3D"label"><fmt:message key=3D"champ.nom"/></p>
<input type=3D"text" size=3D"32" maxlength=3D"63" name=3D"person.name" =
value=3D"<c:out value=3D"${status.value}"/>">
</spring:bind>
</p>
FYI, I use precompiled JSPs. Here is a snippet of the log:
javax.servlet.ServletException: No property [person.name] in class =
[class org.sis.sirene.command.CallingoutCommand]
at =
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContext=
Impl.java:533)
at =
jsp.WEB_0002dINF.vues.jsp.applis.sirene.interp.saisie.champs.personne.nom=
_jsp._jspService(Unknown Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at =
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatch=
er.java:684)
at =
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispa=
tcher.java:575)
at =
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatc=
her.java:498)
at =
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.jav=
a:822)
at =
jsp.WEB_0002dINF.vues.jsp.applis.sirene.interp.saisie.personne_jsp._jspSe=
rvice(Unknown Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at =
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatch=
er.java:684)
at =
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispa=
tcher.java:575)
at =
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatc=
her.java:498)
at =
org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(I=
mportSupport.java:314)
at =
org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(Import=
Support.java:179)
at =
jsp.WEB_0002dINF.vues.jsp.applis.sirene.modele_jsp._jspService(Unknown =
Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at =
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatch=
er.java:684)
at =
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispa=
tcher.java:432)
at =
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatc=
her.java:356)
at =
com.interface21.web.servlet.view.InternalResourceView.renderMergedOutputM=
odel(InternalResourceView.java:88)
at =
com.interface21.web.servlet.view.AbstractView.render(AbstractView.java:19=
7)
at =
com.interface21.web.servlet.DispatcherServlet.render(DispatcherServlet.ja=
va:503)
at =
com.interface21.web.servlet.DispatcherServlet.doService(DispatcherServlet=
.java:392)
at =
com.interface21.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServ=
let.java:237)
at =
com.interface21.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java=
:225)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
********** L'ADSL A 20 EUR/MOIS**********
Tiscali propose l'ADSL le moins cher du march=E9 : 20 EUR/mois et le =
modem ADSL offert !=20
Pour profiter de cette offre exceptionnelle, cliquez ici : =
http://register.tiscali.fr/adsl/
Offre soumise =E0 conditions.
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/=
01
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|