|
From: David H. <dh...@ob...> - 2005-02-22 15:36:30
|
Which=20sounds=20similar=20to=20the=20contents=20of=20the=20current=20spri= ng-core.jar=20to=20me,=20although=20there=20you=20get=20only=20the=20beanf= actory=20support.=20For=20application=20contexts,=20you=20have=20to=20use=20= the=20spring-context.jar,=20which=20has=20a=20bunch=20of=20other,=20relate= d=20stuff=20in=20it=20(ejb,=20jms=20etc.). =20 The=20problem=20is,=20your=20definition=20of=20how=20to=20split=20modules=20= is=20unlikely=20to=20be=20the=20same=20as=20mine,=20and=20mine=20will=20do= ubtless=20differ=20from=20the=20next=20x=20users=20you=20happen=20to=20ask= .=20Where=20is=20AOP=20in=20your=20scenario?=20Is=20that=20part=20of=20cor= e?=20What=20if=20I=20want=20a=20version=20without=20AOP?=20What=20if=20I=20= want=20JMS,=20but=20not=20EJB?=20JDO=20but=20not=20HIbernate?=20The=20temp= lating=20support=20really=20calls=20for=20its=20own=20spring-ui.jar.=20How= =20about=20the=20struts=20integration?=20You=20certainly=20don't=20want=20= all=20the=20spring=20web=20mvc=20support=20if=20you're=20just=20using=20th= e=20struts=20integration.=20The=20only=20way=20to=20please=20both=20of=20u= s=20would=20be=20to=20have=20around=2020=20different=20jar=20distributions= ,=20one=20for=20each=20major=20top=20level=20package.=20And=20what=20does=20= that=20gain? =20 Spring=20is=20already=20divided=20into=208=20smaller=20jars,=20which=20see= m=20to=20have=20a=20reasonable=20compromise=20of=20grouped=20related=20fea= tures.=20I=20can't=20really=20comment=20on=20this=20as=20all=20I=20use=20i= s=20spring.jar,=20but=20doubtless=20they=20are=20ideal=20for=20some=20user= s=20and=20useless=20for=20others,=20but=20I=20don't=20see=20a=20huge=20amo= unt=20of=20value=20in=20hashing=20and=20rehashing=20what=20should=20and=20= shouldn't=20be=20in=20them.=20I=20do=20think=20those=20jars=20should=20may= be=20be=20made=20available=20for=20download=20separately,=20rather=20than=20= having=20to=20get=20the=20whole=20spring=20distribution,=20source=20and=20= all,=20just=20to=20get=20hold=20of=20eg.=20spring-core.jar. =20 Thanks, -Dave ________________________________ From:=20s...@li...=20on=20behal= f=20of=20Martin=20Kersten Sent:=20Tue=2022/02/2005=2014:56 To:=20s...@li... Subject:=20Re:=20[Springframework-developer]=20I=20don't=20like=20the=20De= faultXmlBeanDefinitionParser >=20The=20distribution=20comes=20with=20different=20JARs=20for=20different= =20circumstances, >=20but=20it=20might=20be=20nice=20to=20be=20able=20to=20download=20them=20= separately=20as=20well. How=20does=20web=20fits=20the=20vision=20of=20the=20core=20framework?=20It= 's=20really=20an issue.=20Would=20you=20also=20like=20to=20deliver=20the=20rich=20client=20= platform and=20it's=20dependency=20also=20within=20the=20framework? But=20downloading=20the=20required=20jars=20based=20on=20the=20case=20scen= ario the=20user=20has=20would=20be=20a=20great=20improvement=20anyways.=20For=20= my current=20research=20I=20would=20like=20to=20had=20the=20option=20to=20get= =20a web=20free,=20jdbc=20free,=20jms=20free,=20mail=20free,=20orm=20free,=20re= moting=20free, transaction=20free=20Spring=20version. If=20I=20would=20be=20in=20charge=20I=20would=20split=20it=20up=20the=20fo= llowing=20way: core,=20web,=20j2ee,=20persistence,=20later=20rpc. Cheers, Martin=20(Kersten) > >=20Rob > >=20Martin=20Kersten=20wrote: > >>>=20My=20thoughts=20exactly=20:).=20We=20have=20enough=20dependencies=20= already. >> >> >>=20You=20should=20break=20up=20your=20framework=20anyways. >> >>=20You=20are=20currently=20providing=20a=20'Jack=20of=20all=20trades'=20= API.=20A=20solution >>=20for=20everything=20but=20nothing=20in=20particular. >> >>=20Don't=20get=20mad=20:-)=20Here=20is=20what=20I=20mean: >> >>=20Spring=20adapts=20services=20for=20many=20diffrent=20situations: >>=20=20You=20having=20a=20web=20application,=20fine=20download=20the >>=20=20=20=20=20=20default=20spring=20framework, >>=20=20You=20have=20a=20command=20line=20application,=20fine=20download >>=20=20=20=20=20=20=20the=20default=20spring=20framework >> >>=20=20If=20it's=20not=20in=20the=20framework,=20we=20dont=20support=20it= . >> >>=20Thats=20what=20I=20mean.=20Download=20the=20framework=20and=20be=20ha= ppy. >> >>=20It's=20like=20java,=20download=20the=20SE=20and=20you=20have=20all=20= the=20stuff=20those >>=20folks=20think=20some=20(!)=20people=20might(!)=20wanna=20have. >> >>=20How=20about=20making=20a=20core=20framework=20and=20having=20extensio= ns. >> >>=20So=20you=20go=20for=20a=20normal=20application,=20just=20download=20t= he=20core >>=20framework.=20You=20want=20to=20go=20for=20a=20web=20application,=20do= wnload >>=20the=20core=20framework=20and=20download=20the=20web=20extension. >> >>=20You=20know=20I=20am=20currently=20trying=20to=20get=20my=20visions=20= into=20the=20RPC >>=20sub=20project.=20And=20when=20you=20start=20to=20develop=20your=20own= >>=20rich=20client(!)=20guess=20what,=20you=20have=20code=20for=20setting=20= up=20a=20web >>=20application=20right=20out=20of=20the=20box! >> >>=20Imagen=20what=20a=20relieve=20it=20would=20be=20for=20all=20of=20you=20= folks=20to=20speak >>=20about=20extensions=20and=20the=20core=20project,=20manage=20the=20dep= endencies >>=20for=20those=20individually.=20Imagen=20having=20more=20then=20one=20s= wing=20reference >>=20documentation.=20One=20for=20the=20core,=20one=20for=20the=20web,=20o= ne=20for=20RPC=20and >>=20so=20on.=20Boy=20I=20would=20be=20lucky=20if=20I=20were=20you=20:-). >> >> >>=20Martin=20(Kersten) >> >>=20PS:=20Just=20a=20hint!=20;-) >> >>>=20Erwin=20Vervaet=20wrote: >>> >>>>=20I=20think=20the=20main=20reason=20to=20use=20the=20W3C=20DOM=20API=20= directly=20is=20to=20avoid=20the >>>>=20need=20for=20an=20extra=20dependency=20(e.g.=20JDOM)=20just=20to=20= parse=20the=20XML=20bean >>>>=20definitions.=20You=20end=20up=20with=20an=20"less=20than=20elegant"= =20implementation=20in >>>>=20DefaultXmlBeanDefinitionParser,=20but=20in=20this=20case=20the=20be= nifits=20outweigh >>>>=20the=20costs. >>>>=20=20Erwin=20Vervaet >>>>=20e...@er...=20<mailto:erw...@er...> >>>> >>>>=20=20=20=20=20-----=20Original=20Message=20----- >>>>=20=20=20=20=20*From:*=20Martin=20Kersten >>>>=20=20=20=20=20<mailto:Mar...@St...> >>>>=20=20=20=20=20*To:*=20s...@li...= >>>>=20=20=20=20=20<mailto:spr...@li...= > >>>>=20=20=20=20=20*Sent:*=20Tuesday,=20February=2022,=202005=201:21=20PM >>>>=20=20=20=20=20*Subject:*=20[Springframework-developer]=20I=20don't=20= like=20the >>>>=20=20=20=20=20DefaultXmlBeanDefinitionParser >>>> >>>>=20=20=20=20=20Hi=20folks, >>>>=20=20=20=20=20=20I=20am=20currently=20trying=20to=20extend=20the=20fr= amework=20by=20supporting >>>>=20=20=20=20=20contributions. >>>>=20=20=20=20=20Just=20to=20see=20how=20it=20feels. >>>>=20=20=20=20=20=20So=20I=20made=20some=20investigations=20in=20the=20s= ourcecode.=20I=20don't=20want=20to >>>>=20=20=20=20=20start=20a=20war >>>>=20=20=20=20=20about=20proper=20design=20rules,=20since=20I=20am=20a=20= believer=20in=20'Interface >>>>=20=20=20=20=20belongs=20to=20the >>>>=20=20=20=20=20client'=20stuff=20and=20you=20are=20appearently=20not,=20= but=20this=20isn't=20the >>>>=20=20=20=20=20issue=20I=20want=20to >>>>=20=20=20=20=20talk=20about. >>>>=20=20=20=20=20=20Th=20implementation=20I=20hate=20most=20on=20first=20= sight=20is=20the >>>>=20=20=20=20=20XMLBeanDefinitionParser.=20I=20know=20it=20does=20what=20= it=20should=20but=20you=20can >>>>=20=20=20=20=20read=20this: >>>>=20=20=20=20=20=20/** >>>>=20=20=20=20=20=20=20*=20Make=20the=20horrible=20DOM=20API=20slightly=20= more=20bearable: >>>>=20=20=20=20=20=20=20*=20get=20the=20text=20value=20we=20know=20this=20= element=20contains. >>>>=20=20=20=20=20=20=20*/ >>>>=20=20=20=20=20=20Well=20I=20would=20agree=20but=20it's=20a=20bit=20wi= red=20also.=20You=20think=20the=20DOM >>>>=20=20=20=20=20API=20is=20horrible >>>>=20=20=20=20=20and=20you=20are=20still=20using=20it?=20You=20know=20wh= at=20it=20means=20to=20use=20a >>>>=20=20=20=20=20horrible=20API?=20You=20write=20a=20horrible=20implemen= tation!=20And=20thats=20how >>>>=20=20=20=20=20it=20looks. >>>>=20=20=20=20=20It=20took=20me=20more=20then=20a=20gaze=20to=20catch=20= the=20meaning=20of=20the=20parser=20and >>>>=20=20=20=20=20I=20also >>>>=20=20=20=20=20got=20blown=20by=20the=20code=20duplication.=20Since=20= I=20am=20in=20need=20to=20extend >>>>=20=20=20=20=20this=20class, >>>>=20=20=20=20=20=20So=20I=20would=20like=20to=20ask=20if=20I=20may=20re= factor=20it=20and=20commit=20you=20a=20patch >>>>=20=20=20=20=20(or=20maybe >>>>=20=20=20=20=20a=20complete=20reimplementation)? >>>>=20=20=20=20=20=20Cheers, >>>>=20=20=20=20=20=20Martin=20(Kersten) >>>>=20=20=20=20=20=20PS:=20By=20the=20way,=20how=20about=20'Hidding=203rd= =20party=20library=20behind=20single >>>>=20=20=20=20=20interface?' >>>> >>>>=20=20=20=20=20=20=20=20=20-----=20Original=20Message=20----- >>>>=20=20=20=20=20=20=20=20=20*From:*=20Martin=20Kersten >>>>=20=20=20=20=20=20=20=20=20<mailto:Mar...@St...-Magdebur= g.DE> >>>>=20=20=20=20=20=20=20=20=20*To:*=20s...@li...= rceforge.net >>>>=20=20=20=20=20=20=20=20=20<mailto:spr...@li...= rceforge.net> >>>>=20=20=20=20=20=20=20=20=20*Sent:*=20Tuesday,=20February=2022,=202005=20= 12:46=20PM >>>>=20=20=20=20=20=20=20=20=20*Subject:*=20Re:=20[Springframework-develop= er]=20Please=20check=20these >>>>=20=20=20=20=20=20=20=20=20two=20things >>>> >>>>=20=20=20=20=20=20=20=20=20Sorry,=20thought=20the=20agreement=20goes=20= with=20the=20callee.=20Ok=20:-)=20sorry >>>>=20was=20a=20strange=20day=20for=20me,=20I=20guess. >>>>=20=20=20=20=20=20=20=20=20=20Thanks, >>>>=20=20=20=20=20=20=20=20=20=20Martin=20(Kersten) >>>>=20=20=20=20=20=20=20=20=20-----=20Original=20Message=20----- >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20*From:*=20Juergen=20Hoeller=20<= mailto:ju...@in...> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20*To:*=20springframework-develop= er...@li... >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20<mailto:springframework-develop= er...@li...> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20*Sent:*=20Tuesday,=20February=20= 22,=202005=2012:13=20PM >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20*Subject:*=20Re:=20[Springframe= work-developer]=20Please=20check >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20these=20two=20things >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20Actually,=20I=20have=20*not*=20= replaced=20this=20with=20a=20=3D=3D=20comparison >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20of=20the=20arrays:=20Instead,=20= BatchSqlUpdate=20is=20storing=20clones >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20of=20the=20passed-in=20arrays=20= now,=20for=20execution=20on=20flush.=20This >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20avoids=20any=20side=20effects=20= in=20the=20first=20place=20(even=20if=20the >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20passed-in=20arrays=20are=20chan= ged=20afterwards=20or=20reused=20for >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20multiple=20update=20inovcations= ),=20and=20the=20overhead=20of=20cloning >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20an=20array=20should=20be=20acce= ptable=20(after=20all,=20we're=20talking >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20about=20database=20update=20ope= rations=20here). >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20Juergen >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20-----Original=20Mes= sage----- >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*From:* >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20springframework-dev= elo...@li... >>>> >>>>=20[mailto:spr...@li...]*On >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Behalf=20Of=20*Mart= in=20Kersten >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*Sent:*=20Tuesday,=20= February=2022,=202005=2012:04=20PM >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*To:*=20springframe= wor...@li... >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*Subject:*=20Re:=20= [Springframework-developer]=20Please >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20check=20these=20two= =20things >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20But=20isn't=20this=20= bogus=20thinking?=20I=20mean=20replacing >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20.equals=20with=20=3D= =3D=20makes >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20the=20implementatio= n=20more=20strickt=20and=20reduces=20semantical >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20informations. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20We=20are=20thinking= =20about=20objects=20and=20there=20is=20no >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20performance=20gap >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20to=20justify=20this= =20modification. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20I=20wouldn't=20d= o=20it.=20I=20just=20would=20ensure=20that=20equals >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20implementations >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20start=20with=20if(t= his=3D=3Dobject)=20return=20true;.=20How=20huge=20is >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20the=20estimated >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20performance=20gain?= >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Cheers, >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Martin=20(Kerste= n) >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20-----=20= Original=20Message=20----- >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*From:*= =20Juergen=20Hoeller >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20<mailto= :ju...@in...> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*To:* >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20springf= ram...@li... >>>> >>>>=20<mailto:spr...@li...> >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*Sent:*= =20Tuesday,=20February=2022,=202005=2010:06=20AM >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20*Subjec= t:*=20Re:=20[Springframework-developer]=20Please >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20check=20= these=20two=20things >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Well-sp= otted! >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Conc= urrencyThrottleInterceptor=20should=20indeed=20use >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20an=20in= ternal=20monitor=20to=20avoid=20any=20potential=20for >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20side=20= effects.=20I=20doubt=20that=20this=20has=20caused=20any >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20issue=20= in=20practice,=20but=20it's=20nevertheless=20cleaner. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20That= =20check=20in=20BatchSqlUpdate=20is=20not=20supposed=20to >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20compare= =20the=20elements=20but=20just=20the=20array=20reference: >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Repeate= d=20update=20invocations=20should=20not=20pass-in=20the >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20same=20= array=20instance=20repeatedly,=20with=20modified >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20element= s.=20Of=20course,=20a=20=3D=3D=20check=20would=20be >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20suffici= ent=20for=20this.=20I've=20reworked=20that=20part=20a=20bit >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20differe= ntly,=20though:=20BatchSqlUpdate=20stores=20a=20clone >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20of=20th= e=20passed-in=20array=20now,=20so=20there=20shouldn't=20be >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20a=20nee= d=20for=20such=20a=20check=20anymore. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Juer= gen >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20-----Original=20Message----- >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20*From:* >>>> >>>>=20s...@li... >>>> >>>>=20[mailto:spr...@li...]*On >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20Behalf=20Of=20*Dave=20Brosius >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20*Sent:*=20Tuesday,=20February=2022,=202005=208:08=20AM >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20*To:* >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20s...@li... >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20*Subject:*=20[Springframework-developer]=20Please >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20check=20these=20two=20things >>>> >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20These=20may=20be=20problems,=20and=20then=20again=20maybe >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20not.=20But=20they=20seem=20odd/wrong=20to=20me >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=201)=20In >>>> >>>>=20org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20in=20method=20invoke >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20uses=20wait=20on=20'this' >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20In=20my=20mind=20you=20are=20exposing=20your >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20synchronization=20strategies=20as=20a=20public >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20artifact,=20which=20leaves=20this=20class=20open=20to >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20failure=20due=20to=20client=20code. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20The=20client=20code=20may=20unwittingly=20us=20an=20instance >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20of=20this=20class=20to=20do=20it's=20own=20synchronization, >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20and=20totally=20screw=20up=20this=20class. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20I=20would=20recommend=20doing=20synchronizations >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(especially=20the=20use=20of=20wait/notify)=20on=20a >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20private=20member=20so=20client=20code=20can=20not=20effect >>>>=20it. >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=202)=20In >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20org.springframework.jdbc.object.BatchSqlUpdate >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20in=20method=20update,=20you=20do >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20if=20(!this.parameterQueue.isEmpty()=20&& >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20args.equals(this.parameterQueue.getLast()))=20{ >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20this=20is=20the=20same=20as=20using=20=20=20=20=20args=20=3D=3D >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20this.parameterQueue.getLast() >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20or=20in=20other=20words,=20are=20these=20objects=20the=20same >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20object.=20I=20assume=20you=20want=20to=20compare=20the >>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20elements=20of=20the=20array? >>>> >>> >>> >>>=20------------------------------------------------------- >>>=20SF=20email=20is=20sponsored=20by=20-=20The=20IT=20Product=20Guide >>>=20Read=20honest=20&=20candid=20reviews=20on=20hundreds=20of=20IT=20Pro= ducts=20from=20real=20users. >>>=20Discover=20which=20products=20truly=20live=20up=20to=20the=20hype.=20= Start=20reading=20now. >>>=20http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick >>>=20_______________________________________________ >>>=20Springframework-developer=20mailing=20list >>>=20S...@li... >>>=20https://lists.sourceforge.net/lists/listinfo/springframework-develop= er >> >> >> >> >>=20------------------------------------------------------- >>=20SF=20email=20is=20sponsored=20by=20-=20The=20IT=20Product=20Guide >>=20Read=20honest=20&=20candid=20reviews=20on=20hundreds=20of=20IT=20Prod= ucts=20from=20real=20users. >>=20Discover=20which=20products=20truly=20live=20up=20to=20the=20hype.=20= Start=20reading=20now. >>=20http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick >>=20_______________________________________________ >>=20Springframework-developer=20mailing=20list >>=20S...@li... >>=20https://lists.sourceforge.net/lists/listinfo/springframework-develope= r >> >> > > >=20------------------------------------------------------- >=20SF=20email=20is=20sponsored=20by=20-=20The=20IT=20Product=20Guide >=20Read=20honest=20&=20candid=20reviews=20on=20hundreds=20of=20IT=20Produ= cts=20from=20real=20users. >=20Discover=20which=20products=20truly=20live=20up=20to=20the=20hype.=20S= tart=20reading=20now. >=20http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick >=20_______________________________________________ >=20Springframework-developer=20mailing=20list >=20S...@li... >=20https://lists.sourceforge.net/lists/listinfo/springframework-developer= ------------------------------------------------------- SF=20email=20is=20sponsored=20by=20-=20The=20IT=20Product=20Guide Read=20honest=20&=20candid=20reviews=20on=20hundreds=20of=20IT=20Products=20= from=20real=20users. Discover=20which=20products=20truly=20live=20up=20to=20the=20hype.=20Start= =20reading=20now. http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick _______________________________________________ Springframework-developer=20mailing=20list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ________________________________________________________________________ This=20e-mail=20has=20been=20scanned=20for=20all=20viruses=20by=20Star.=20= The service=20is=20powered=20by=20MessageLabs.=20For=20more=20information=20on= =20a=20proactive anti-virus=20service=20working=20around=20the=20clock,=20around=20the=20gl= obe,=20visit: http://www.star.net.uk ________________________________________________________________________ ________________________________________________________________________ This=20e-mail=20has=20been=20scanned=20for=20all=20viruses=20by=20Star.=20= The service=20is=20powered=20by=20MessageLabs.=20For=20more=20information=20on= =20a=20proactive anti-virus=20service=20working=20around=20the=20clock,=20around=20the=20gl= obe,=20visit: http://www.star.net.uk ________________________________________________________________________ |