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: Norris, T. <tys...@be...> - 2004-06-22 22:27:35
|
Hi All -=20 I was re-reading this, and think it closely applies to a problem we are having with trying to implement an "OpenSessionInViewFilter" within weblogic. We would like to keep using JTATransactionManager, so that we can convert pieces of our CMT-EJB-centric application at a time. The problem for us is that the session is using a DataSource, and there will be 0..n transactions executed with "REQUIRES" propagation. Why is this a problem? Because once the transaction commits or rollsback, the DataSource connection (i.e. the session) it was using will become unusable, causing failures in any following data access. In our case weblogic enforces the invalidation of the connection (i.e. the session) after either commit or rollback. I think we could work around this by setting all methods that are "top level" access to "REQUIRES_NEW", so that their commit/rollback does not affect encompassing transactions.=20 I don't think the nested transaction support would help us, given that we want to retain (as much as possible) our current transaction interoperation, which will requires use of JTATransactionManager... Does this sound about right as far as the limit of our options? Thanks tyson -----Original Message----- From: Daniel Miller [mailto:mi...@pa...]=20 Sent: Sunday, June 13, 2004 8:29 PM To: spr...@li... Subject: RE: [Springframework-developer] Real OpenSessionInView (only in view) James, >Does that also mean that a new Hibernate session is created if a data access occurs after the exception? (Think of an app that logs application failures to a database.) No, that is the problem--the same session continues to be used after the exception occurs. >From the Hibernate Session interface javadoc: "If the Session throws an exception, the transaction must be rolled back and the session discarded. The internal state of the Session might not be consistent with the database after the exception occurs." http://www.hibernate.org/hib_docs/api/net/sf/hibernate/Session.html >Also, is the discarding (shutting down) of a session handled by the transaction manager or some other wrapper? I'm trying to understand if the discard behavior is the same for checked or unchecked exceptions. Our apps are set up to throw checked exceptions when we think the application could recover from the failure. No, discarding is not handled by the transaction manager. The session only needs to be discarded if a HibernateException is thrown (checked). If you use Spring's HibernateDAOSupport for your DAO's, Spring catches the HibernateExceptions and wraps them in DataAccessExceptions (unchecked). >In cases where a checked exception is deemed fatal we control rollback using: TransactionInterceptor.currentTransactionStatus().setRollbackOnly(); A rollback wouldn't solve the problem because you would still be using the same (potentially damaged) session for other data accesses after the exception occurred. > The Hibernate session will always get discarded properly, even when > exceptions get thrown during view rendering. If that doesn't happen in any > case, it's a bug in either Spring's interceptor/filter implementations (or > the servlet container's handling of filters, in case of > OpenSessionInViewFilter). > > Juergen Sorry Juergen, I worded my original message wrongly. The session is always properly discarded by Spring at the end of the request. Both the filter and the interceptor versions of OpenSessionInView do this correctly. However, they cannot tell when an exception is thrown in the middle of your business logic and therefore cannot discard the session and create a new one after an exception occurs. Daniel ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. >From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <al...@jt...> - 2004-06-22 22:13:48
|
<html><head>
<style>
.white { color:#FFFFFF }.index { background-color:#FFFFFF }.index-passed { =
color:#004400 }.index-failed { color:#FF0000; font-weight:bold }.index-head=
er { font-weight:bold }.link { font-family:arial,helvetica,sans-serif; font=
-size:10pt; color:#FFFFFF; text-decoration:none; }.tab-table { margin: 0em =
0em 0.5em 0em; }.tabs { font-family:arial,helvetica,sans-serif; font-size:8=
pt; color:#000000; font-weight:bold; padding: 0em 2em; background-color:#EE=
EEEE; }.tabs-link { color:#000000; text-decoration:none; }.tabs-link:visite=
d { color:#000000; text-decoration:none; }.tabs-selected { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; font-weight:bold; pad=
ding: 0em 2em; }.tabs-selected { border: inset; }.header-title { font-famil=
y:arial,helvetica,sans-serif; font-size:12pt; color:#000000; font-weight:bo=
ld; }.header-label { font-weight:bold; }.header-data { font-family:arial,he=
lvetica,sans-serif; font-size:10pt; color:#000000; }.modifications-data { f=
ont-family:arial,helvetica,sans-serif; font-size:8pt; color:#000000; }.modi=
fications-sectionheader { background-color:#000066; font-family:arial,helve=
tica,sans-serif; font-size:10pt; color:#FFFFFF; }.modifications-oddrow { ba=
ckground-color:#CCCCCC }.modifications-evenrow { background-color:#FFFFCC }=
.changelists-oddrow { background-color:#CCCCCC }.changelists-evenrow { back=
ground-color:#FFFFCC }.changelists-file-spacer { background-color:#FFFFFF }=
.changelists-file-evenrow { background-color:#EEEEEE }.changelists-file-odd=
row { background-color:#FFFFEE }.changelists-file-header { background-color=
:#666666; font-family:arial,helvetica,sans-serif; font-size:8pt; color:#FFF=
FFF; }.compile-data { font-family:arial,helvetica,sans-serif; font-size:8pt=
; color:#000000; }.compile-error-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#FF0000; }.compile-warn-data { font-family:arial,=
helvetica,sans-serif; font-size:8pt; color:#CC9900; }.compile-sectionheader=
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-s=
ize:10pt; color:#FFFFFF; }.distributables-data { font-family:arial,helvetic=
a,sans-serif; font-size:8pt; color:#000000; }.distributables-sectionheader =
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-si=
ze:10pt; color:#FFFFFF; }.distributables-oddrow { background-color:#CCCCCC =
}.unittests-sectionheader { background-color:#000066; font-family:arial,hel=
vetica,sans-serif; font-size:10pt; color:#FFFFFF; }.unittests-oddrow { back=
ground-color:#CCCCCC }.unittests-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#000000; }.unittests-error { font-family:arial,he=
lvetica,sans-serif; font-size:8pt; color:#FF0000; }.checkstyle-oddrow { bac=
kground-color:#CCCCCC }.checkstyle-data { font-family:arial,helvetica,sans-=
serif; font-size:8pt; color:#000000; }.checkstyle-sectionheader { backgroun=
d-color:#000066; font-family:arial,helvetica,sans-serif; font-size:10pt; co=
lor:#FFFFFF; }
</style>
</head><body>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"header-title">BUILD COMPLETE - =
build.33</td></tr><tr><td class=3D"header-data"><span class=
=3D"header-label">Date of build: </span>06/23/2004 00:16:08</td></tr><=
tr><td class=3D"header-data"><span class=3D"header-label">Time to build:&nb=
sp;</span>13 minutes 32 seconds</td></tr><tr><td class=3D"header-data"><spa=
n class=3D"header-label">Last changed: </span>06/22/2004 19:49:55</td>=
</tr><tr><td class=3D"header-data"><span class=3D"header-label">Last log en=
try: </span>removed JBossNativeJdbcExtractor tests which won't work wi=
th the new reflection-based version</td></tr></table><p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"/><p>
<p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Errors/Warnings: (=
6) </td></tr><tr><td><pre class=3D"compile-error-data">N=
ote: Some input files use or override a deprecated API.<br class=3D"none"/>=
Note: Recompile with -deprecation for details.Note: /jteam/build/checkout/s=
pring/spring/mock/org/springframework/mock/web/MockHttpSession.java uses or=
overrides a deprecated API.<br class=3D"none"/>Note: Recompile with -depre=
cation for details.<br class=3D"none"/>Note: Some input files use or overri=
de a deprecated API.<br class=3D"none"/>Note: Recompile with -deprecation f=
or details.<br class=3D"none"/></pre></td></tr></table><p>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Tests: (1470) </td></tr><tr><td><tabl=
e width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"c=
enter"><tr><td class=3D"unittests-data"> failure =
</td><td width=3D"40%" class=3D"unittests-data">testHomePage</td><td width=
=3D"40%" class=3D"unittests-data">org.springframework.apptests.buildtest.Al=
lTests</td></tr></table></td></tr><tr></tr><tr><td colspan=3D"2"> </td=
></tr><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Test Error Details: (1) </td></tr><tr=
><td class=3D"unittests-data" colspan=3D"2"> Test: test=
HomePage</td></tr><tr><td class=3D"unittests-data" colspan=3D"2"> =
Class: org.springframework.apptests.buildtest.AllTests</td></tr>=
<tr><td class=3D"unittests-data" colspan=3D"2"> Type: junit.=
framework.AssertionFailedError</td></tr><tr><td class=3D"unittests-data" co=
lspan=3D"2"> Message: Exception while testing URL http://loc=
alhost:13084/buildtest:java.io.IOException</td></tr><tr><td class=3D"unitte=
sts-error" colspan=3D"2"><pre>junit.framework.AssertionFailedError: Excepti=
on while testing URL http://localhost:13084/buildtest:java.io.IOException<b=
r>=09at org.springframework.apptests.buildtest.AllTests.testHomePage(Unknow=
n Source)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth=
od)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess=
orImpl.java:39)<br>=09at sun.reflect.DelegatingMethodAccessorImpl.invoke(De=
legatingMethodAccessorImpl.java:25)<br></pre></td></tr><tr><td colspan=3D"2=
"> </td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"modifications-sectionheader"> =
Modifications since last build: =
(7) </td></tr><tr class=3D"modifications-evenrow"><td c=
lass=3D"modifications-data">modified</td><td class=3D"modifications-data">j=
hoeller</td><td class=3D"modifications-data">test/org/springframework/jdbc/=
support/NativeJdbcExtractorTests.java</td><td class=3D"modifications-data">=
removed JBossNativeJdbcExtractor tests which won't work with the new reflec=
tion-based version</td></tr><tr class=3D"modifications-oddrow"><td class=3D=
"modifications-data">modified</td><td class=3D"modifications-data">jhoeller=
</td><td class=3D"modifications-data">mock/org/springframework/mock/web/Moc=
kServletContext.java</td><td class=3D"modifications-data">uses JVM temp dir=
as ServletContext temp dir, e.g. to work with Commons/CosMultipartResolver=
</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-da=
ta">modified</td><td class=3D"modifications-data">jhoeller</td><td class=3D=
"modifications-data">lib/readme.txt</td><td class=3D"modifications-data">re=
wrote JBossNativeJdbcExtractor with reflection</td></tr><tr class=3D"modifi=
cations-oddrow"><td class=3D"modifications-data">deleted</td><td class=3D"m=
odifications-data">jhoeller</td><td class=3D"modifications-data">lib/jboss/=
jboss-common-jdbc-wrapper.jar</td><td class=3D"modifications-data">rewrote =
JBossNativeJdbcExtractor with reflection</td></tr><tr class=3D"modification=
s-evenrow"><td class=3D"modifications-data">deleted</td><td class=3D"modifi=
cations-data">jhoeller</td><td class=3D"modifications-data">lib/jboss/jboss=
.jar</td><td class=3D"modifications-data">rewrote JBossNativeJdbcExtractor =
with reflection</td></tr><tr class=3D"modifications-oddrow"><td class=3D"mo=
difications-data">modified</td><td class=3D"modifications-data">jhoeller</t=
d><td class=3D"modifications-data">src/org/springframework/jdbc/support/nat=
ivejdbc/JBossNativeJdbcExtractor.java</td><td class=3D"modifications-data">=
rewrote JBossNativeJdbcExtractor with reflection</td></tr><tr class=3D"modi=
fications-evenrow"><td class=3D"modifications-data">modified</td><td class=
=3D"modifications-data">colins</td><td class=3D"modifications-data">src/org=
/springframework/jdbc/support/nativejdbc/JBossNativeJdbcExtractor.java</td>=
<td class=3D"modifications-data">access JBoss 3.2.4 WrappedResultSet by ref=
lection only</td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"distributables-sectionheader"> =
Deployments by this build: (8) </td><=
/tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/checko=
ut/spring/spring/dist/spring.jar</td></tr><tr class=3D"distributables-oddro=
w"><td class=3D"distributables-data">Building war: /jteam/build/checkout/sp=
ring/spring/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr><td c=
lass=3D"distributables-data">Building war: /jteam/build/checkout/spring/spr=
ing/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr class=3D"dist=
ributables-oddrow"><td class=3D"distributables-data">Building war: /jteam/b=
uild/checkout/spring/spring/autobuilds/apps/buildtest/dist/buildtest.war</t=
d></tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/che=
ckout/spring/spring/autobuilds/apps/jpetstore/war/WEB-INF/lib/jpetstore.jar=
</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distributables-d=
ata">Building war: /jteam/build/checkout/spring/spring/autobuilds/apps/jpet=
store/dist/jpetstore.war</td></tr><tr><td class=3D"distributables-data">Bui=
lding jar: /jteam/build/checkout/spring/spring/autobuilds/apps/jpetstore/wa=
r/WEB-INF/lib/jpetstore.jar</td></tr><tr class=3D"distributables-oddrow"><t=
d class=3D"distributables-data">Building war: /jteam/build/checkout/spring/=
spring/autobuilds/apps/jpetstore/dist/jpetstore.war</td></tr></table>
</body></html> |
|
From: Norris, T. <tys...@be...> - 2004-06-22 21:35:26
|
Thanks for your efforts Rob! I suspected something along these lines as well, but also haven't been able to debug the cglib code enough to figure out why the class is not cached. This did bring to mind a post on cglib-devel list: http://sourceforge.net/mailarchive/forum.php?thread_id=3D4141313&forum_id= =3D 12922 a problem with Factory.getCallback() method returning null when there were more than 38 methods. I don't see how this would impact the caching of the class, but thought it might be worth a mention based on some complication arising from "too many methods". I'll keep digging on this as well. Thanks tyson=20 -----Original Message----- From: Rob Harrop [mailto:ro...@ca...]=20 Sent: Tuesday, June 22, 2004 1:33 PM To: spr...@li... Subject: Re: [Springframework-developer] Not leveraging the CGLIB cache Tyson (All), Some more news on this. Did some extensive testing on the train today=20 and I am a bit stumped to be honest. The Cglib Key class that is=20 created for both proxies is the same and therefore should use same=20 class as the first instance, and indeed this works when the target is=20 unadvised. I have two theories which I have been unable to test so far=20 but hope to do so tomorrow/Thurs unless anyone else gets to it first.=20 First theory (the unlikely one), is that the SoftReferences used to=20 cache the proxy is being collected. Second, more likely theory, is that=20 the Key class some how fails to work correctly when there are a certain=20 number of callbacks. There are a LOT more callbacks created for advised=20 targets than non advised targets. I will raise this issue with the guys at Cglib, we are already=20 discussing some other matters. But I think that we could also create=20 our own cache as long we get all of the relevant parameters (not just=20 superclass name) in the key for the cache. I will experiment with this=20 and see where I get. Rob On 22 Jun 2004, at 09:21, Rob Harrop wrote: > Tyson, > > I have managed to narrow this down to occuring only on advised=20 > targets. I anticipate this is a problem with the hashcode=20 > implementation of one of the callbacks and I will hopefully have a fix > by the end of the day. > > Rob > > On 22 Jun 2004, at 01:34, Norris, Tyson wrote: > >> public void testMultipleProxies() { >> ProxyFactory pf =3D new ProxyFactory(new Class[] { = ITestBean.class=20 >> }); >> pf.setProxyTargetClass(true); >> >> MethodInterceptor static1 =3D new NopInterceptor(); >> >> // MethodInterceptor static2 =3D new >> Advices.ReadDataInterceptor(); >> >> pf.addInterceptor(static1); >> // pf.addInterceptor(static2); >> >> // Advisor static3 =3D new Advices.SetterPointCut(new >> Advices.NopInterceptor()); >> // Advisor static4 =3D new Advices.SetterPointCut(new >> Advices.ReadDataInterceptor()); >> // >> // pf.addAdvisor(static3); >> // pf.addAdvisor(static4); >> >> // pf.addAdvisor(new Advices.ObjectReturnPointCut(new >> Advices.NopInterceptor())); >> >> TestBean target =3D new TestBean(); >> TestBean target2 =3D new TestBean(); >> >> >> pf.setTarget(target); >> pf.setFrozen(true); >> pf.setExposeProxy(false); >> >> ProxyFactory pf2 =3D new ProxyFactory(new Class[] { >> ITestBean.class }); >> pf2.copyFrom(pf); >> pf2.setTarget(target2); >> >> >> ITestBean proxy1 =3D (ITestBean) pf.getProxy(); >> ITestBean proxy2 =3D (ITestBean) pf2.getProxy(); >> >> System.out.println(proxy1.getClass().getName()); >> System.out.println(proxy2.getClass().getName()); >> >> assertTrue(proxy1.getClass() =3D=3D proxy2.getClass()); >> >> } > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital=20 > self defense, top technical experts, no vendor pitches, unmatched=20 > networking opportunities. Visit www.blackhat.com > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 -=20 digital self defense, top technical experts, no vendor pitches,=20 unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rob H. <ro...@ca...> - 2004-06-22 20:33:40
|
Tyson (All),
Some more news on this. Did some extensive testing on the train today
and I am a bit stumped to be honest. The Cglib Key class that is
created for both proxies is the same and therefore should use same
class as the first instance, and indeed this works when the target is
unadvised. I have two theories which I have been unable to test so far
but hope to do so tomorrow/Thurs unless anyone else gets to it first.
First theory (the unlikely one), is that the SoftReferences used to
cache the proxy is being collected. Second, more likely theory, is that
the Key class some how fails to work correctly when there are a certain
number of callbacks. There are a LOT more callbacks created for advised
targets than non advised targets.
I will raise this issue with the guys at Cglib, we are already
discussing some other matters. But I think that we could also create
our own cache as long we get all of the relevant parameters (not just
superclass name) in the key for the cache. I will experiment with this
and see where I get.
Rob
On 22 Jun 2004, at 09:21, Rob Harrop wrote:
> Tyson,
>
> I have managed to narrow this down to occuring only on advised
> targets. I anticipate this is a problem with the hashcode
> implementation of one of the callbacks and I will hopefully have a fix
> by the end of the day.
>
> Rob
>
> On 22 Jun 2004, at 01:34, Norris, Tyson wrote:
>
>> public void testMultipleProxies() {
>> ProxyFactory pf = new ProxyFactory(new Class[] { ITestBean.class
>> });
>> pf.setProxyTargetClass(true);
>>
>> MethodInterceptor static1 = new NopInterceptor();
>>
>> // MethodInterceptor static2 = new
>> Advices.ReadDataInterceptor();
>>
>> pf.addInterceptor(static1);
>> // pf.addInterceptor(static2);
>>
>> // Advisor static3 = new Advices.SetterPointCut(new
>> Advices.NopInterceptor());
>> // Advisor static4 = new Advices.SetterPointCut(new
>> Advices.ReadDataInterceptor());
>> //
>> // pf.addAdvisor(static3);
>> // pf.addAdvisor(static4);
>>
>> // pf.addAdvisor(new Advices.ObjectReturnPointCut(new
>> Advices.NopInterceptor()));
>>
>> TestBean target = new TestBean();
>> TestBean target2 = new TestBean();
>>
>>
>> pf.setTarget(target);
>> pf.setFrozen(true);
>> pf.setExposeProxy(false);
>>
>> ProxyFactory pf2 = new ProxyFactory(new Class[] {
>> ITestBean.class });
>> pf2.copyFrom(pf);
>> pf2.setTarget(target2);
>>
>>
>> ITestBean proxy1 = (ITestBean) pf.getProxy();
>> ITestBean proxy2 = (ITestBean) pf2.getProxy();
>>
>> System.out.println(proxy1.getClass().getName());
>> System.out.println(proxy2.getClass().getName());
>>
>> assertTrue(proxy1.getClass() == proxy2.getClass());
>>
>> }
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital
> self defense, top technical experts, no vendor pitches, unmatched
> networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
|
|
From: Alef A. <al...@jt...> - 2004-06-22 19:57:18
|
> I think we should. The reason I think so is that realistically, the > beanfactory and appcontext are plumbing which is meant to hook stuff up > together. In this scenatio, I think the fact that a constructor is > private and normal java code should not be able to use it is sometimes > irrelevant. Some people may even consider it cleaner not to expose > constructors, so that normal code can't instantiate the object, but a > beanfactory/appcontext can. In this respect, I think the deployer knows > best, although we should probably warn agaisnt the practice. +1 |
|
From: Colin S. <col...@ex...> - 2004-06-22 19:54:17
|
Your changes work fine in JBoss 3.2.4. My probs with the integration test seem to be related to try to get two HSQLDB datasources going in JBoss at the same time. I added another one pointing to an external HSQL db and it wasn't a happy puppy, but the extractor works fine against a good DS. I'll check in the integration test some time in the next day or two... Colin jürgen höller [werk3AT] wrote: >I guess there's no way around integration for these things, against multiple versions of those products. Unit tests can just try to mock specific behavior, which doesn't say much about compatibility with actual versions of the real product. > >Juergen > > >-----Original Message----- >From: spr...@li... >[mailto:spr...@li...]On Behalf >Of Colin Sampaleanu >Sent: Tuesday, June 22, 2004 8:04 PM >To: spr...@li... >Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet >support added in JBossNativeJdbcAdapter > > >Coincidentally, I was actually just working on an integration test for >testing that class. Unfortunately JBoss is giving me exceptions on >actually trying to call the methods to get the wrapped object, saying >something like 'the Subject does not have the required credentials". >Will continue digging into this. > >In general, I think we need to get integration level tests which hit all >of the extra stuff like these helper classes which can not be covered by >unit tests. I actually started down the route of using jMock or EasyMock >to mock the JBoss classes using cglib, but it's problematic since you >then need access to a ton of app server classes. Even if jMock or >EasyMock do allow you to mock classes (and not just interfaces) via >cglib, it's not generally a great practice or practical to mock external >classes. > >Colin > >jürgen höller [werk3AT] wrote: > > > >>Colin, >> >>I've just rewritten all of JBossNativeJdbcExtractor with reflection, to get entirely rid of any jboss.jar dependency (and also the jdbc-common-jdbc-wrapper.jar). It caches the retrieved classes and methods in the constructor now, just like WebLogicNativeJdbcExtractor and WebSphereNativeJdbcExtractor. >> >>I've tested the new version against JBoss 3.2.1 - still works nicely. Could you please test it against JBoss 3.2.4? (I don't want to download those 50 MB just for testing this...) >> >>Juergen >> >> >>-----Original Message----- >>From: spr...@li... >>[mailto:spr...@li...]On Behalf >>Of jürgen höller [werk3AT] >>Sent: Monday, June 21, 2004 10:50 AM >>To: spr...@li... >>Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet >>support added in JBossNativeJdbcAdapter >> >> >>Colin, >> >>I second that. Please code it via reflection; we wouldn't wan't to ship a 1.6 MB jboss.jar just because of that. The 45 KB jboss-common-jdbc.wrapper.jar is fine, so I guess just coding the ResultSet unwrapping via reflection should be good enough. >> >>Juergen >> >> >>________________________________ >> >>Von: spr...@li... im Auftrag von Rod Johnson >>Gesendet: So 20.06.2004 16:16 >>An: spr...@li... >>Betreff: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet support added in JBossNativeJdbcAdapter >> >> >> >> >> >> >> >> >> >>>I just realized this ties this class to JBoss 3.2.4. Probably not a >>>reasonable thing to do since people might be running 3.2.3 (or 3.2.2) >>>for a while yet. Anybody object if I make the wrapped ResultSet access >>>via reflection? >>> >>> >>> >>> >>No, please do. >> >> >> |
|
From: Colin S. <col...@ex...> - 2004-06-22 18:10:23
|
I think we should. The reason I think so is that realistically, the beanfactory and appcontext are plumbing which is meant to hook stuff up together. In this scenatio, I think the fact that a constructor is private and normal java code should not be able to use it is sometimes irrelevant. Some people may even consider it cleaner not to expose constructors, so that normal code can't instantiate the object, but a beanfactory/appcontext can. In this respect, I think the deployer knows best, although we should probably warn agaisnt the practice. jürgen höller [werk3AT] wrote: >Do we want to support this? > >http://opensource.atlassian.com/projects/spring/browse/SPR-174 > >It's easy to do, but definitely not a best practice. > >Juergen > > >DI Jürgen Höller >Senior System Architect >______________________________________ > >werk3ATS - division systementwicklung >werk3AT informations- und mediensysteme > >europaplatz 4 >A - 4020 linz > >t. +43 (0) 732 71 65 29 502 >f. +43 (0) 732 71 65 29 3 >mailto:jue...@we... >http://www.werk3at.com >______________________________________ >werk3ATS - WIR ENTWICKELN ERFOLG > > |
|
From: <jue...@we...> - 2004-06-22 18:05:46
|
Do we want to support this? http://opensource.atlassian.com/projects/spring/browse/SPR-174 It's easy to do, but definitely not a best practice. Juergen DI J=FCrgen H=F6ller Senior System Architect ______________________________________ werk3ATS - division systementwicklung werk3AT informations- und mediensysteme europaplatz 4 A - 4020 linz t. +43 (0) 732 71 65 29 502 f. +43 (0) 732 71 65 29 3 mailto:jue...@we... http://www.werk3at.com ______________________________________ werk3ATS - WIR ENTWICKELN ERFOLG |
|
From: <jue...@we...> - 2004-06-22 18:03:23
|
I guess there's no way around integration for these things, against = multiple versions of those products. Unit tests can just try to mock = specific behavior, which doesn't say much about compatibility with = actual versions of the real product. Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of Colin Sampaleanu Sent: Tuesday, June 22, 2004 8:04 PM To: spr...@li... Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet support added in JBossNativeJdbcAdapter Coincidentally, I was actually just working on an integration test for=20 testing that class. Unfortunately JBoss is giving me exceptions on=20 actually trying to call the methods to get the wrapped object, saying=20 something like 'the Subject does not have the required credentials".=20 Will continue digging into this. In general, I think we need to get integration level tests which hit all = of the extra stuff like these helper classes which can not be covered by = unit tests. I actually started down the route of using jMock or EasyMock = to mock the JBoss classes using cglib, but it's problematic since you=20 then need access to a ton of app server classes. Even if jMock or=20 EasyMock do allow you to mock classes (and not just interfaces) via=20 cglib, it's not generally a great practice or practical to mock external = classes. Colin j=FCrgen h=F6ller [werk3AT] wrote: >Colin, > >I've just rewritten all of JBossNativeJdbcExtractor with reflection, to = get entirely rid of any jboss.jar dependency (and also the = jdbc-common-jdbc-wrapper.jar). It caches the retrieved classes and = methods in the constructor now, just like WebLogicNativeJdbcExtractor = and WebSphereNativeJdbcExtractor. > >I've tested the new version against JBoss 3.2.1 - still works nicely. = Could you please test it against JBoss 3.2.4? (I don't want to download = those 50 MB just for testing this...) > >Juergen > > >-----Original Message----- >From: spr...@li... >[mailto:spr...@li...]On Behalf >Of j=FCrgen h=F6ller [werk3AT] >Sent: Monday, June 21, 2004 10:50 AM >To: spr...@li... >Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet >support added in JBossNativeJdbcAdapter > > >Colin, >=20 >I second that. Please code it via reflection; we wouldn't wan't to ship = a 1.6 MB jboss.jar just because of that. The 45 KB = jboss-common-jdbc.wrapper.jar is fine, so I guess just coding the = ResultSet unwrapping via reflection should be good enough. >=20 >Juergen >=20 > >________________________________ > >Von: spr...@li... im Auftrag = von Rod Johnson >Gesendet: So 20.06.2004 16:16 >An: spr...@li... >Betreff: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet = support added in JBossNativeJdbcAdapter > > > > > > =20 > >>I just realized this ties this class to JBoss 3.2.4. Probably not a >>reasonable thing to do since people might be running 3.2.3 (or 3.2.2) >>for a while yet. Anybody object if I make the wrapped ResultSet access >>via reflection? >> =20 >> > >No, please do. > > > >------------------------------------------------------- >This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference >Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer >Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA >REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code = NWMGYKND >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > =20 > ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 -=20 digital self defense, top technical experts, no vendor pitches,=20 unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Colin S. <col...@ex...> - 2004-06-22 17:59:38
|
Coincidentally, I was actually just working on an integration test for testing that class. Unfortunately JBoss is giving me exceptions on actually trying to call the methods to get the wrapped object, saying something like 'the Subject does not have the required credentials". Will continue digging into this. In general, I think we need to get integration level tests which hit all of the extra stuff like these helper classes which can not be covered by unit tests. I actually started down the route of using jMock or EasyMock to mock the JBoss classes using cglib, but it's problematic since you then need access to a ton of app server classes. Even if jMock or EasyMock do allow you to mock classes (and not just interfaces) via cglib, it's not generally a great practice or practical to mock external classes. Colin jürgen höller [werk3AT] wrote: >Colin, > >I've just rewritten all of JBossNativeJdbcExtractor with reflection, to get entirely rid of any jboss.jar dependency (and also the jdbc-common-jdbc-wrapper.jar). It caches the retrieved classes and methods in the constructor now, just like WebLogicNativeJdbcExtractor and WebSphereNativeJdbcExtractor. > >I've tested the new version against JBoss 3.2.1 - still works nicely. Could you please test it against JBoss 3.2.4? (I don't want to download those 50 MB just for testing this...) > >Juergen > > >-----Original Message----- >From: spr...@li... >[mailto:spr...@li...]On Behalf >Of jürgen höller [werk3AT] >Sent: Monday, June 21, 2004 10:50 AM >To: spr...@li... >Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet >support added in JBossNativeJdbcAdapter > > >Colin, > >I second that. Please code it via reflection; we wouldn't wan't to ship a 1.6 MB jboss.jar just because of that. The 45 KB jboss-common-jdbc.wrapper.jar is fine, so I guess just coding the ResultSet unwrapping via reflection should be good enough. > >Juergen > > >________________________________ > >Von: spr...@li... im Auftrag von Rod Johnson >Gesendet: So 20.06.2004 16:16 >An: spr...@li... >Betreff: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet support added in JBossNativeJdbcAdapter > > > > > > > >>I just realized this ties this class to JBoss 3.2.4. Probably not a >>reasonable thing to do since people might be running 3.2.3 (or 3.2.2) >>for a while yet. Anybody object if I make the wrapped ResultSet access >>via reflection? >> >> > >No, please do. > > > >------------------------------------------------------- >This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference >Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer >Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA >REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > > |
|
From: <jue...@we...> - 2004-06-22 17:53:55
|
Colin, I've just rewritten all of JBossNativeJdbcExtractor with reflection, to = get entirely rid of any jboss.jar dependency (and also the = jdbc-common-jdbc-wrapper.jar). It caches the retrieved classes and = methods in the constructor now, just like WebLogicNativeJdbcExtractor = and WebSphereNativeJdbcExtractor. I've tested the new version against JBoss 3.2.1 - still works nicely. = Could you please test it against JBoss 3.2.4? (I don't want to download = those 50 MB just for testing this...) Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of j=FCrgen h=F6ller [werk3AT] Sent: Monday, June 21, 2004 10:50 AM To: spr...@li... Subject: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet support added in JBossNativeJdbcAdapter Colin, =20 I second that. Please code it via reflection; we wouldn't wan't to ship = a 1.6 MB jboss.jar just because of that. The 45 KB = jboss-common-jdbc.wrapper.jar is fine, so I guess just coding the = ResultSet unwrapping via reflection should be good enough. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: So 20.06.2004 16:16 An: spr...@li... Betreff: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet = support added in JBossNativeJdbcAdapter > I just realized this ties this class to JBoss 3.2.4. Probably not a > reasonable thing to do since people might be running 3.2.3 (or 3.2.2) > for a while yet. Anybody object if I make the wrapped ResultSet access > via reflection? No, please do. ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rob H. <ro...@ca...> - 2004-06-22 08:21:14
|
Tyson,
I have managed to narrow this down to occuring only on advised targets.
I anticipate this is a problem with the hashcode implementation of one
of the callbacks and I will hopefully have a fix by the end of the day.
Rob
On 22 Jun 2004, at 01:34, Norris, Tyson wrote:
> public void testMultipleProxies() {
> ProxyFactory pf = new ProxyFactory(new Class[] { ITestBean.class
> });
> pf.setProxyTargetClass(true);
>
> MethodInterceptor static1 = new NopInterceptor();
>
> // MethodInterceptor static2 = new
> Advices.ReadDataInterceptor();
>
> pf.addInterceptor(static1);
> // pf.addInterceptor(static2);
>
> // Advisor static3 = new Advices.SetterPointCut(new
> Advices.NopInterceptor());
> // Advisor static4 = new Advices.SetterPointCut(new
> Advices.ReadDataInterceptor());
> //
> // pf.addAdvisor(static3);
> // pf.addAdvisor(static4);
>
> // pf.addAdvisor(new Advices.ObjectReturnPointCut(new
> Advices.NopInterceptor()));
>
> TestBean target = new TestBean();
> TestBean target2 = new TestBean();
>
>
> pf.setTarget(target);
> pf.setFrozen(true);
> pf.setExposeProxy(false);
>
> ProxyFactory pf2 = new ProxyFactory(new Class[] {
> ITestBean.class });
> pf2.copyFrom(pf);
> pf2.setTarget(target2);
>
>
> ITestBean proxy1 = (ITestBean) pf.getProxy();
> ITestBean proxy2 = (ITestBean) pf2.getProxy();
>
> System.out.println(proxy1.getClass().getName());
> System.out.println(proxy2.getClass().getName());
>
> assertTrue(proxy1.getClass() == proxy2.getClass());
>
> }
|
|
From: Norris, T. <tys...@be...> - 2004-06-22 00:34:44
|
I using a single thread.=20
I modified the test below, to reproduce the problem. The main difference
is that I'm not using a "singleton" target; I create a new instance of
TestBean for the second proxy.=20
Note that I ran into this using the BeanNameAutoProxyCreator, and a
non-singleton targetsource. The AbstractAutoProxyCreator performs this
functionality in similar fashion (i.e. causing a new class generation
with each instantiation), unless I'm confused...
Hopefully I'm not missing the point, but I have assumed that since
"target", and "target2" are instances of the same class (but NOT the
same instance, as the test you mentioned first), and the interceptor is
a singleton, then I will get an instance of the same class back when a
proxy is generated from either target instance (i.e. CGLIB only
generates the class once).=20
Thanks for the feedback.
Tyson
public void testMultipleProxies() {
ProxyFactory pf =3D new ProxyFactory(new Class[] { ITestBean.class =
});
pf.setProxyTargetClass(true);
MethodInterceptor static1 =3D new NopInterceptor();
// MethodInterceptor static2 =3D new
Advices.ReadDataInterceptor();
pf.addInterceptor(static1);
// pf.addInterceptor(static2);
// Advisor static3 =3D new Advices.SetterPointCut(new
Advices.NopInterceptor());
// Advisor static4 =3D new Advices.SetterPointCut(new
Advices.ReadDataInterceptor());
//
// pf.addAdvisor(static3);
// pf.addAdvisor(static4);
// pf.addAdvisor(new Advices.ObjectReturnPointCut(new
Advices.NopInterceptor()));
TestBean target =3D new TestBean();
TestBean target2 =3D new TestBean();
pf.setTarget(target);
pf.setFrozen(true);
pf.setExposeProxy(false);
ProxyFactory pf2 =3D new ProxyFactory(new Class[] {
ITestBean.class });
pf2.copyFrom(pf);
pf2.setTarget(target2);
ITestBean proxy1 =3D (ITestBean) pf.getProxy();
ITestBean proxy2 =3D (ITestBean) pf2.getProxy();
System.out.println(proxy1.getClass().getName());
System.out.println(proxy2.getClass().getName());
assertTrue(proxy1.getClass() =3D=3D proxy2.getClass());
}
-----Original Message-----
From: Rob Harrop [mailto:ro...@ca...]=20
Sent: Monday, June 21, 2004 3:10 PM
To: spr...@li...
Subject: Re: [Springframework-developer] Not leveraging the CGLIB cache
Are you calling getBean() on different threads each time?
I have this test:
public void testMultipleProxies() {
=09
ProxyFactory pf =3D new ProxyFactory(new Class[] {
ITestBean.class });
pf.setProxyTargetClass(true);
MethodInterceptor static1 =3D new
Advices.NopInterceptor();
MethodInterceptor static2 =3D new
Advices.ReadDataInterceptor();
pf.addInterceptor(static1);
pf.addInterceptor(static2);
Advisor static3 =3D new Advices.SetterPointCut(new=20
Advices.NopInterceptor());
Advisor static4 =3D new Advices.SetterPointCut(new=20
Advices.ReadDataInterceptor());
pf.addAdvisor(static3);
pf.addAdvisor(static4);
=09
pf.addAdvisor(new Advices.ObjectReturnPointCut(new=20
Advices.NopInterceptor()));
TestBean target =3D new TestBean();
pf.setTarget(target);
pf.setFrozen(true);
pf.setExposeProxy(false);
ITestBean proxy1 =3D (ITestBean) pf.getProxy();
ITestBean proxy2 =3D (ITestBean) pf.getProxy();
=09
System.out.println(proxy1.getClass().getName());
System.out.println(proxy2.getClass().getName());
=09
assertTrue(proxy1.getClass() =3D=3D proxy2.getClass());
}
And it passes fine, however I have observed in the StaticAopTest class=20
in the load package that a different class is used for each thread in=20
the test suite runner. These classes have the same name with a _XX=20
suffix. This is not the same as before however when the class names=20
generated were completely different. I need to do a little more=20
investigation to see how Cglib implements the bytecode under all of=20
this.
Rob
On 21 Jun 2004, at 22:31, Norris, Tyson wrote:
> Rob et al -
> I've been trying out the changes in the Cglib2AopProxy class, and am
> still getting behavior where each instantiation of my proxied bean is
> iterating all the methods of the bean - as mentioned in jira issue
> SPR-175 (sorry for spreading this onto the mailing list - I thought
> others might have an opinion).
>
> I am concerned that my class is not properly getting cached by cglib.
>
> I have tried using the CVS version of Cglib2AopProxy (with the CVS
> version of cglib jar), and the classes returned by 2 consecutive calls
> to ApplicationContext.getBean(beanName) returns instances of the
> following classes:
>
> [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_34@3452
>
> [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_35@3455
>
> So I think the classes are not properly getting cached properly by
> CGLIB, although cglib's Key.hascode() is returning the same value in
> both cases (5ffa4f23).
>
> Anyhow, sorry if this is confusing, but I think there is a problem in
> there, but I haven't been able to get to the bottom of it.
>
> Thanks for any info or comments.
>
> Tyson
>
> -----Original Message-----
> From: Rob Harrop [mailto:ro...@ca...]
> Sent: Friday, June 11, 2004 2:46 PM
> To: spr...@li...
> Subject: Re: [Springframework-developer] Not leveraging the CGLIB
cache
>
> James (All),
>
> First I better introduce myself, my name is Rob Harrop and I have been
> working on the Cglib proxy class, fixing bugs and improving
> performance.
>
> The problem you mention is now fixed, but it does rely on the HEAD of
> Cglib (which I mistakenly checked into CVS without changing the name).
> The new CallbackFilter correctly implements hashCode so that Cglib can
> cache class instances.
>
> Rob
>
> On 11 Jun 2004, at 22:05, James Cook wrote:
>
>> Rod,
>>
>> Do you remember this issue? Has this one been addressed yet?
>>
>> http://article.gmane.org/gmane.comp.java.springframework.user/1502
>>
>> From: Chris Nokleberg <chris <at> sixlegs.com>
>> Subject: Re: CGLIB proxies are not assignable
>> Newsgroups: gmane.comp.java.springframework.user
>> Date: Sun, 11 Apr 2004 17:15:30 +0000
>>
>> Rod Johnson <rod.johnson <at> interface21.com> writes:
>>> This is the behaviour I would expect. As you say, maybe we should
>>> add it to the docs. All proxies _are_ instances of the class to be
>>> proxied.
>>
>> I actually think this is a bug. If the name of the class is changing
>> it means that caching of generated classes is not working correctly
>> --it is probably generating a new class per proxy. This will
obviously
>> slow down proxy creation tremendously and eventually cause
>> OutOfMemoryExceptions. The typical culprit is when you use a
>> custom CallbackFilter that does not implement equals/hashCode. I
>> don't have time right now but I'll take a look soon.
>>
>> Happy Easter
>> Chris
>>
>>
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by the new InstallShield X.
>> From Windows to Linux, servers to mobile, InstallShield X is the
>> one installation-authoring solution that does it all. Learn more and
>> evaluate today! http://www.installshield.com/Dev2Dev/0504
>> _______________________________________________
>> Springframework-developer mailing list
>> Spr...@li...
>>
https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the new InstallShield X.
> From Windows to Linux, servers to mobile, InstallShield X is the
> one installation-authoring solution that does it all. Learn more and
> evaluate today! http://www.installshield.com/Dev2Dev/0504
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
> digital self defense, top technical experts, no vendor pitches,
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -=20
digital self defense, top technical experts, no vendor pitches,=20
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|
|
From: <al...@jt...> - 2004-06-21 22:14:23
|
<html><head>
<style>
.white { color:#FFFFFF }.index { background-color:#FFFFFF }.index-passed { =
color:#004400 }.index-failed { color:#FF0000; font-weight:bold }.index-head=
er { font-weight:bold }.link { font-family:arial,helvetica,sans-serif; font=
-size:10pt; color:#FFFFFF; text-decoration:none; }.tab-table { margin: 0em =
0em 0.5em 0em; }.tabs { font-family:arial,helvetica,sans-serif; font-size:8=
pt; color:#000000; font-weight:bold; padding: 0em 2em; background-color:#EE=
EEEE; }.tabs-link { color:#000000; text-decoration:none; }.tabs-link:visite=
d { color:#000000; text-decoration:none; }.tabs-selected { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; font-weight:bold; pad=
ding: 0em 2em; }.tabs-selected { border: inset; }.header-title { font-famil=
y:arial,helvetica,sans-serif; font-size:12pt; color:#000000; font-weight:bo=
ld; }.header-label { font-weight:bold; }.header-data { font-family:arial,he=
lvetica,sans-serif; font-size:10pt; color:#000000; }.modifications-data { f=
ont-family:arial,helvetica,sans-serif; font-size:8pt; color:#000000; }.modi=
fications-sectionheader { background-color:#000066; font-family:arial,helve=
tica,sans-serif; font-size:10pt; color:#FFFFFF; }.modifications-oddrow { ba=
ckground-color:#CCCCCC }.modifications-evenrow { background-color:#FFFFCC }=
.changelists-oddrow { background-color:#CCCCCC }.changelists-evenrow { back=
ground-color:#FFFFCC }.changelists-file-spacer { background-color:#FFFFFF }=
.changelists-file-evenrow { background-color:#EEEEEE }.changelists-file-odd=
row { background-color:#FFFFEE }.changelists-file-header { background-color=
:#666666; font-family:arial,helvetica,sans-serif; font-size:8pt; color:#FFF=
FFF; }.compile-data { font-family:arial,helvetica,sans-serif; font-size:8pt=
; color:#000000; }.compile-error-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#FF0000; }.compile-warn-data { font-family:arial,=
helvetica,sans-serif; font-size:8pt; color:#CC9900; }.compile-sectionheader=
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-s=
ize:10pt; color:#FFFFFF; }.distributables-data { font-family:arial,helvetic=
a,sans-serif; font-size:8pt; color:#000000; }.distributables-sectionheader =
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-si=
ze:10pt; color:#FFFFFF; }.distributables-oddrow { background-color:#CCCCCC =
}.unittests-sectionheader { background-color:#000066; font-family:arial,hel=
vetica,sans-serif; font-size:10pt; color:#FFFFFF; }.unittests-oddrow { back=
ground-color:#CCCCCC }.unittests-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#000000; }.unittests-error { font-family:arial,he=
lvetica,sans-serif; font-size:8pt; color:#FF0000; }.checkstyle-oddrow { bac=
kground-color:#CCCCCC }.checkstyle-data { font-family:arial,helvetica,sans-=
serif; font-size:8pt; color:#000000; }.checkstyle-sectionheader { backgroun=
d-color:#000066; font-family:arial,helvetica,sans-serif; font-size:10pt; co=
lor:#FFFFFF; }
</style>
</head><body>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"header-title">BUILD COMPLETE - =
build.32</td></tr><tr><td class=3D"header-data"><span class=
=3D"header-label">Date of build: </span>06/22/2004 00:16:21</td></tr><=
tr><td class=3D"header-data"><span class=3D"header-label">Time to build:&nb=
sp;</span>13 minutes 32 seconds</td></tr><tr><td class=3D"header-data"><spa=
n class=3D"header-label">Last changed: </span>06/21/2004 19:34:49</td>=
</tr><tr><td class=3D"header-data"><span class=3D"header-label">Last log en=
try: </span>Removed cglib-2.0.jar from eclipse classpath in favor of c=
glib-2.0-dev.jar</td></tr></table><p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"/><p>
<p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Errors/Warnings: (=
6) </td></tr><tr><td><pre class=3D"compile-error-data">N=
ote: Some input files use or override a deprecated API.<br class=3D"none"/>=
Note: Recompile with -deprecation for details.Note: /jteam/build/checkout/s=
pring/spring/mock/org/springframework/mock/web/MockHttpSession.java uses or=
overrides a deprecated API.<br class=3D"none"/>Note: Recompile with -depre=
cation for details.<br class=3D"none"/>Note: Some input files use or overri=
de a deprecated API.<br class=3D"none"/>Note: Recompile with -deprecation f=
or details.<br class=3D"none"/></pre></td></tr></table><p>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Tests: (1470) </td></tr><tr><td><tabl=
e width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"c=
enter"><tr><td class=3D"unittests-data"> failure =
</td><td width=3D"40%" class=3D"unittests-data">testHomePage</td><td width=
=3D"40%" class=3D"unittests-data">org.springframework.apptests.buildtest.Al=
lTests</td></tr></table></td></tr><tr></tr><tr><td colspan=3D"2"> </td=
></tr><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Test Error Details: (1) </td></tr><tr=
><td class=3D"unittests-data" colspan=3D"2"> Test: test=
HomePage</td></tr><tr><td class=3D"unittests-data" colspan=3D"2"> =
Class: org.springframework.apptests.buildtest.AllTests</td></tr>=
<tr><td class=3D"unittests-data" colspan=3D"2"> Type: junit.=
framework.AssertionFailedError</td></tr><tr><td class=3D"unittests-data" co=
lspan=3D"2"> Message: Exception while testing URL http://loc=
alhost:13084/buildtest:java.io.IOException</td></tr><tr><td class=3D"unitte=
sts-error" colspan=3D"2"><pre>junit.framework.AssertionFailedError: Excepti=
on while testing URL http://localhost:13084/buildtest:java.io.IOException<b=
r>=09at org.springframework.apptests.buildtest.AllTests.testHomePage(Unknow=
n Source)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth=
od)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess=
orImpl.java:39)<br>=09at sun.reflect.DelegatingMethodAccessorImpl.invoke(De=
legatingMethodAccessorImpl.java:25)<br></pre></td></tr><tr><td colspan=3D"2=
"> </td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"modifications-sectionheader"> =
Modifications since last build: =
(56) </td></tr><tr class=3D"modifications-evenrow"><td =
class=3D"modifications-data">modified</td><td class=3D"modifications-data">=
dkopylenko</td><td class=3D"modifications-data">/.classpath</td><td class=
=3D"modifications-data">Removed cglib-2.0.jar from eclipse classpath in fav=
or of cglib-2.0-dev.jar</td></tr><tr class=3D"modifications-oddrow"><td cla=
ss=3D"modifications-data">modified</td><td class=3D"modifications-data">jho=
eller</td><td class=3D"modifications-data">test/org/springframework/web/ser=
vlet/mvc/CommandControllerTestSuite.java</td><td class=3D"modifications-dat=
a">added "resetEmptyCheckboxFields" flag to ServletRequestDataBinder</td></=
tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">mod=
ified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modifi=
cations-data">src/org/springframework/web/bind/ServletRequestDataBinder.jav=
a</td><td class=3D"modifications-data">added "resetEmptyCheckboxFields" fla=
g to ServletRequestDataBinder</td></tr><tr class=3D"modifications-oddrow"><=
td class=3D"modifications-data">modified</td><td class=3D"modifications-dat=
a">jhoeller</td><td class=3D"modifications-data">src/org/springframework/va=
lidation/DataBinder.java</td><td class=3D"modifications-data">added "resetE=
mptyCheckboxFields" flag to ServletRequestDataBinder</td></tr><tr class=3D"=
modifications-evenrow"><td class=3D"modifications-data">modified</td><td cl=
ass=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">te=
st/org/springframework/web/bind/ServletRequestParameterPropertyValuesTestSu=
ite.java</td><td class=3D"modifications-data">polishing</td></tr><tr class=
=3D"modifications-oddrow"><td class=3D"modifications-data">modified</td><td=
class=3D"modifications-data">jhoeller</td><td class=3D"modifications-data"=
>test/org/springframework/beans/AbstractPropertyValuesTests.java</td><td cl=
ass=3D"modifications-data">polishing</td></tr><tr class=3D"modifications-ev=
enrow"><td class=3D"modifications-data">modified</td><td class=3D"modificat=
ions-data">jhoeller</td><td class=3D"modifications-data">test/org/springfra=
mework/beans/MutablePropertyValuesTests.java</td><td class=3D"modifications=
-data">polishing</td></tr><tr class=3D"modifications-oddrow"><td class=3D"m=
odifications-data">deleted</td><td class=3D"modifications-data">jhoeller</t=
d><td class=3D"modifications-data">src/org/springframework/scheduling/timer=
/TimerTaskExecutionException.java</td><td class=3D"modifications-data">remo=
ved deprecated TimerTaskExecutionException</td></tr><tr class=3D"modificati=
ons-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"mod=
ifications-data">jhoeller</td><td class=3D"modifications-data">docs/referen=
ce/src/index.xml</td><td class=3D"modifications-data">updated version numbe=
r to 1.1 RC1</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modif=
ications-data">modified</td><td class=3D"modifications-data">jhoeller</td><=
td class=3D"modifications-data">/project.properties</td><td class=3D"modifi=
cations-data">updated version number to 1.1 RC1</td></tr><tr class=3D"modif=
ications-evenrow"><td class=3D"modifications-data">deleted</td><td class=3D=
"modifications-data">jhoeller</td><td class=3D"modifications-data">lib/cgli=
b/cglib-2.0.1.jar</td><td class=3D"modifications-data">renamed cglib-2.0.1 =
to cglib-2.0.2-dev</td></tr><tr class=3D"modifications-oddrow"><td class=3D=
"modifications-data">added</td><td class=3D"modifications-data">jhoeller</t=
d><td class=3D"modifications-data">lib/cglib/cglib-2.0.2-dev.jar</td><td cl=
ass=3D"modifications-data">renamed cglib-2.0.1 to cglib-2.0.2-dev</td></tr>=
<tr class=3D"modifications-evenrow"><td class=3D"modifications-data">modifi=
ed</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modificat=
ions-data">lib/readme.txt</td><td class=3D"modifications-data">renamed cgli=
b-2.0.1 to cglib-2.0.2-dev</td></tr><tr class=3D"modifications-oddrow"><td =
class=3D"modifications-data">modified</td><td class=3D"modifications-data">=
jhoeller</td><td class=3D"modifications-data">src/org/springframework/orm/h=
ibernate/support/HibernateDaoSupport.java</td><td class=3D"modifications-da=
ta">fixed and polished javadoc</td></tr><tr class=3D"modifications-evenrow"=
><td class=3D"modifications-data">modified</td><td class=3D"modifications-d=
ata">jhoeller</td><td class=3D"modifications-data">src/org/springframework/=
orm/jdo/support/JdoDaoSupport.java</td><td class=3D"modifications-data">fix=
ed and polished javadoc</td></tr><tr class=3D"modifications-oddrow"><td cla=
ss=3D"modifications-data">modified</td><td class=3D"modifications-data">jho=
eller</td><td class=3D"modifications-data">src/org/springframework/orm/jdo/=
PersistenceManagerFactoryUtils.java</td><td class=3D"modifications-data">lo=
g cleanup failure rather than rethrow it</td></tr><tr class=3D"modification=
s-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"modif=
ications-data">jhoeller</td><td class=3D"modifications-data">src/org/spring=
framework/orm/jdo/support/JdoDaoSupport.java</td><td class=3D"modifications=
-data">log cleanup failure rather than rethrow it</td></tr><tr class=3D"mod=
ifications-oddrow"><td class=3D"modifications-data">modified</td><td class=
=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">src/o=
rg/springframework/orm/hibernate/HibernateTransactionManager.java</td><td c=
lass=3D"modifications-data">log cleanup failure rather than rethrow it</td>=
</tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">m=
odified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"modi=
fications-data">src/org/springframework/orm/hibernate/SessionFactoryUtils.j=
ava</td><td class=3D"modifications-data">log cleanup failure rather than re=
throw it</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modificat=
ions-data">modified</td><td class=3D"modifications-data">jhoeller</td><td c=
lass=3D"modifications-data">src/org/springframework/orm/hibernate/support/H=
ibernateDaoSupport.java</td><td class=3D"modifications-data">log cleanup fa=
ilure rather than rethrow it</td></tr><tr class=3D"modifications-evenrow"><=
td class=3D"modifications-data">modified</td><td class=3D"modifications-dat=
a">jhoeller</td><td class=3D"modifications-data">src/org/springframework/or=
m/hibernate/support/OpenSessionInViewFilter.java</td><td class=3D"modificat=
ions-data">log cleanup failure rather than rethrow it</td></tr><tr class=3D=
"modifications-oddrow"><td class=3D"modifications-data">modified</td><td cl=
ass=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">sr=
c/org/springframework/orm/jdo/JdoTransactionManager.java</td><td class=3D"m=
odifications-data">log cleanup failure rather than rethrow it</td></tr><tr =
class=3D"modifications-evenrow"><td class=3D"modifications-data">modified</=
td><td class=3D"modifications-data">jhoeller</td><td class=3D"modifications=
-data">src/org/springframework/jdbc/core/support/JdbcDaoSupport.java</td><t=
d class=3D"modifications-data">log cleanup failure rather than rethrow it</=
td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data"=
>modified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"mo=
difications-data">src/org/springframework/jdbc/datasource/DataSourceTransac=
tionManager.java</td><td class=3D"modifications-data">log cleanup failure r=
ather than rethrow it</td></tr><tr class=3D"modifications-evenrow"><td clas=
s=3D"modifications-data">modified</td><td class=3D"modifications-data">jhoe=
ller</td><td class=3D"modifications-data">src/org/springframework/jdbc/data=
source/DataSourceUtils.java</td><td class=3D"modifications-data">log cleanu=
p failure rather than rethrow it</td></tr><tr class=3D"modifications-oddrow=
"><td class=3D"modifications-data">deleted</td><td class=3D"modifications-d=
ata">jhoeller</td><td class=3D"modifications-data">src/org/springframework/=
jdbc/CannotCloseJdbcConnectionException.java</td><td class=3D"modifications=
-data">log cleanup failure rather than rethrow it</td></tr><tr class=3D"mod=
ifications-evenrow"><td class=3D"modifications-data">modified</td><td class=
=3D"modifications-data">jhoeller</td><td class=3D"modifications-data">test/=
org/springframework/jdbc/core/JdbcTemplateTestSuite.java</td><td class=3D"m=
odifications-data">log cleanup failure rather than rethrow it</td></tr><tr =
class=3D"modifications-oddrow"><td class=3D"modifications-data">modified</t=
d><td class=3D"modifications-data">jhoeller</td><td class=3D"modifications-=
data">src/org/springframework/dao/CleanupFailureDataAccessException.java</t=
d><td class=3D"modifications-data">log cleanup failure rather than rethrow =
it</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-=
data">modified</td><td class=3D"modifications-data">jhoeller</td><td class=
=3D"modifications-data">src/org/springframework/beans/factory/config/Proper=
tyPlaceholderConfigurer.java</td><td class=3D"modifications-data">fixed par=
sing to detect all inner bean definitions (including BeanDefinitionHolder)<=
/td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data=
">modified</td><td class=3D"modifications-data">jhoeller</td><td class=3D"m=
odifications-data">test/org/springframework/beans/factory/config/PropertyRe=
sourceConfigurerTests.java</td><td class=3D"modifications-data">fixed parsi=
ng to detect all inner bean definitions (including BeanDefinitionHolder)</t=
d></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data"=
>modified</td><td class=3D"modifications-data">colins</td><td class=3D"modi=
fications-data">lib/ibatis/ibatis-common-2.jar</td><td class=3D"modificatio=
ns-data">iBatis SQLMaps 2.0 final</td></tr><tr class=3D"modifications-oddro=
w"><td class=3D"modifications-data">modified</td><td class=3D"modifications=
-data">colins</td><td class=3D"modifications-data">lib/ibatis/ibatis-sqlmap=
-2.jar</td><td class=3D"modifications-data">iBatis SQLMaps 2.0 final</td></=
tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">add=
ed</td><td class=3D"modifications-data">markpollack</td><td class=3D"modifi=
cations-data">sandbox/src/org/springframework/jms/support/jmsconfig.xsd</td=
><td class=3D"modifications-data">add prototype of an xml schema jms listen=
er configuration.</td></tr><tr class=3D"modifications-oddrow"><td class=3D"=
modifications-data">added</td><td class=3D"modifications-data">markpollack<=
/td><td class=3D"modifications-data">sandbox/src/org/springframework/jms/su=
pport/jmsmessage.xsd</td><td class=3D"modifications-data">add prototype of =
an xml schema jms listener configuration.</td></tr><tr class=3D"modificatio=
ns-evenrow"><td class=3D"modifications-data">deleted</td><td class=3D"modif=
ications-data">markpollack</td><td class=3D"modifications-data">sandbox/tes=
t/org/springframework/jms/JmsQueueListenerTests.java</td><td class=3D"modif=
ications-data">Add dynamic destination support. Move destination lookup fu=
nctionality to JmsAdmin. Remove Andre's impl to avoid confusion in code re=
view.</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modification=
s-data">modified</td><td class=3D"modifications-data">markpollack</td><td c=
lass=3D"modifications-data">sandbox/test/org/springframework/jms/JmsSender1=
1Tests.java</td><td class=3D"modifications-data">Add dynamic destination su=
pport. Move destination lookup functionality to JmsAdmin. Remove Andre's =
impl to avoid confusion in code review.</td></tr><tr class=3D"modifications=
-evenrow"><td class=3D"modifications-data">deleted</td><td class=3D"modific=
ations-data">markpollack</td><td class=3D"modifications-data">sandbox/test/=
org/springframework/jms/JmsTemplatesErrorTests.java</td><td class=3D"modifi=
cations-data">Add dynamic destination support. Move destination lookup fun=
ctionality to JmsAdmin. Remove Andre's impl to avoid confusion in code rev=
iew.</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications=
-data">modified</td><td class=3D"modifications-data">markpollack</td><td cl=
ass=3D"modifications-data">sandbox/test/org/springframework/jms/JmsTestCase=
.java</td><td class=3D"modifications-data">Add dynamic destination support.=
Move destination lookup functionality to JmsAdmin. Remove Andre's impl t=
o avoid confusion in code review.</td></tr><tr class=3D"modifications-evenr=
ow"><td class=3D"modifications-data">deleted</td><td class=3D"modifications=
-data">markpollack</td><td class=3D"modifications-data">sandbox/test/org/sp=
ringframework/jms/JmsTopicListenerTests.java</td><td class=3D"modifications=
-data">Add dynamic destination support. Move destination lookup functional=
ity to JmsAdmin. Remove Andre's impl to avoid confusion in code review.</t=
d></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">=
deleted</td><td class=3D"modifications-data">markpollack</td><td class=3D"m=
odifications-data">sandbox/test/org/springframework/jms/P2PTemplateTests.ja=
va</td><td class=3D"modifications-data">Add dynamic destination support. M=
ove destination lookup functionality to JmsAdmin. Remove Andre's impl to a=
void confusion in code review.</td></tr><tr class=3D"modifications-evenrow"=
><td class=3D"modifications-data">deleted</td><td class=3D"modifications-da=
ta">markpollack</td><td class=3D"modifications-data">sandbox/test/org/sprin=
gframework/jms/PubSubTemplateTests.java</td><td class=3D"modifications-data=
">Add dynamic destination support. Move destination lookup functionality t=
o JmsAdmin. Remove Andre's impl to avoid confusion in code review.</td></t=
r><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">modif=
ied</td><td class=3D"modifications-data">markpollack</td><td class=3D"modif=
ications-data">sandbox/test/org/springframework/jms/JmsSender102Tests.java<=
/td><td class=3D"modifications-data">Add dynamic destination support. Move=
destination lookup functionality to JmsAdmin. Remove Andre's impl to avoi=
d confusion in code review.</td></tr><tr class=3D"modifications-evenrow"><t=
d class=3D"modifications-data">modified</td><td class=3D"modifications-data=
">markpollack</td><td class=3D"modifications-data">sandbox/src/org/springfr=
amework/jms/support/DefaultJmsAdmin.java</td><td class=3D"modifications-dat=
a">Add dynamic destination support. Move destination lookup functionality =
to JmsAdmin. Remove Andre's impl to avoid confusion in code review.</td></=
tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">modi=
fied</td><td class=3D"modifications-data">markpollack</td><td class=3D"modi=
fications-data">sandbox/src/org/springframework/jms/support/JmsAdmin.java</=
td><td class=3D"modifications-data">Add dynamic destination support. Move =
destination lookup functionality to JmsAdmin. Remove Andre's impl to avoid=
confusion in code review.</td></tr><tr class=3D"modifications-evenrow"><td=
class=3D"modifications-data">deleted</td><td class=3D"modifications-data">=
markpollack</td><td class=3D"modifications-data">sandbox/src/org/springfram=
ework/jms/support/JmsTemplateSupport.java</td><td class=3D"modifications-da=
ta">Add dynamic destination support. Move destination lookup functionality=
to JmsAdmin. Remove Andre's impl to avoid confusion in code review.</td><=
/tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">del=
eted</td><td class=3D"modifications-data">markpollack</td><td class=3D"modi=
fications-data">sandbox/src/org/springframework/jms/JmsPubSubTemplate.java<=
/td><td class=3D"modifications-data">Add dynamic destination support. Move=
destination lookup functionality to JmsAdmin. Remove Andre's impl to avoi=
d confusion in code review.</td></tr><tr class=3D"modifications-evenrow"><t=
d class=3D"modifications-data">deleted</td><td class=3D"modifications-data"=
>markpollack</td><td class=3D"modifications-data">sandbox/src/org/springfra=
mework/jms/JmsQueueListener.java</td><td class=3D"modifications-data">Add d=
ynamic destination support. Move destination lookup functionality to JmsAd=
min. Remove Andre's impl to avoid confusion in code review.</td></tr><tr c=
lass=3D"modifications-oddrow"><td class=3D"modifications-data">deleted</td>=
<td class=3D"modifications-data">markpollack</td><td class=3D"modifications=
-data">sandbox/src/org/springframework/jms/JmsTopicListener.java</td><td cl=
ass=3D"modifications-data">Add dynamic destination support. Move destinati=
on lookup functionality to JmsAdmin. Remove Andre's impl to avoid confusio=
n in code review.</td></tr><tr class=3D"modifications-evenrow"><td class=3D=
"modifications-data">modified</td><td class=3D"modifications-data">markpoll=
ack</td><td class=3D"modifications-data">sandbox/src/org/springframework/jm=
s/AbstractJmsSender.java</td><td class=3D"modifications-data">Add dynamic d=
estination support. Move destination lookup functionality to JmsAdmin. Re=
move Andre's impl to avoid confusion in code review.</td></tr><tr class=3D"=
modifications-oddrow"><td class=3D"modifications-data">deleted</td><td clas=
s=3D"modifications-data">markpollack</td><td class=3D"modifications-data">s=
andbox/src/org/springframework/jms/JmsAbstractListener.java</td><td class=
=3D"modifications-data">Add dynamic destination support. Move destination =
lookup functionality to JmsAdmin. Remove Andre's impl to avoid confusion i=
n code review.</td></tr><tr class=3D"modifications-evenrow"><td class=3D"mo=
difications-data">modified</td><td class=3D"modifications-data">markpollack=
</td><td class=3D"modifications-data">sandbox/src/org/springframework/jms/J=
msHelper.java</td><td class=3D"modifications-data">Add dynamic destination =
support. Move destination lookup functionality to JmsAdmin. Remove Andre'=
s impl to avoid confusion in code review.</td></tr><tr class=3D"modificatio=
ns-oddrow"><td class=3D"modifications-data">deleted</td><td class=3D"modifi=
cations-data">markpollack</td><td class=3D"modifications-data">sandbox/src/=
org/springframework/jms/JmsP2PTemplate.java</td><td class=3D"modifications-=
data">Add dynamic destination support. Move destination lookup functionali=
ty to JmsAdmin. Remove Andre's impl to avoid confusion in code review.</td=
></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-data">=
modified</td><td class=3D"modifications-data">markpollack</td><td class=3D"=
modifications-data">sandbox/src/org/springframework/jms/JmsSender.java</td>=
<td class=3D"modifications-data">Add dynamic destination support. Move des=
tination lookup functionality to JmsAdmin. Remove Andre's impl to avoid co=
nfusion in code review.</td></tr><tr class=3D"modifications-oddrow"><td cla=
ss=3D"modifications-data">modified</td><td class=3D"modifications-data">mar=
kpollack</td><td class=3D"modifications-data">sandbox/src/org/springframewo=
rk/jms/JmsSender102.java</td><td class=3D"modifications-data">Add dynamic d=
estination support. Move destination lookup functionality to JmsAdmin. Re=
move Andre's impl to avoid confusion in code review.</td></tr><tr class=3D"=
modifications-evenrow"><td class=3D"modifications-data">modified</td><td cl=
ass=3D"modifications-data">markpollack</td><td class=3D"modifications-data"=
>sandbox/src/org/springframework/jms/JmsSender11.java</td><td class=3D"modi=
fications-data">Add dynamic destination support. Move destination lookup f=
unctionality to JmsAdmin. Remove Andre's impl to avoid confusion in code r=
eview.</td></tr><tr class=3D"modifications-oddrow"><td class=3D"modificatio=
ns-data">modified</td><td class=3D"modifications-data">markpollack</td><td =
class=3D"modifications-data">sandbox/src/org/springframework/jms/MessageCre=
ator.java</td><td class=3D"modifications-data">Add dynamic destination supp=
ort. Move destination lookup functionality to JmsAdmin. Remove Andre's im=
pl to avoid confusion in code review.</td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"distributables-sectionheader"> =
Deployments by this build: (8) </td><=
/tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/checko=
ut/spring/spring/dist/spring.jar</td></tr><tr class=3D"distributables-oddro=
w"><td class=3D"distributables-data">Building war: /jteam/build/checkout/sp=
ring/spring/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr><td c=
lass=3D"distributables-data">Building war: /jteam/build/checkout/spring/spr=
ing/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr class=3D"dist=
ributables-oddrow"><td class=3D"distributables-data">Building war: /jteam/b=
uild/checkout/spring/spring/autobuilds/apps/buildtest/dist/buildtest.war</t=
d></tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/che=
ckout/spring/spring/autobuilds/apps/jpetstore/war/WEB-INF/lib/jpetstore.jar=
</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distributables-d=
ata">Building war: /jteam/build/checkout/spring/spring/autobuilds/apps/jpet=
store/dist/jpetstore.war</td></tr><tr><td class=3D"distributables-data">Bui=
lding jar: /jteam/build/checkout/spring/spring/autobuilds/apps/jpetstore/wa=
r/WEB-INF/lib/jpetstore.jar</td></tr><tr class=3D"distributables-oddrow"><t=
d class=3D"distributables-data">Building war: /jteam/build/checkout/spring/=
spring/autobuilds/apps/jpetstore/dist/jpetstore.war</td></tr></table>
</body></html> |
|
From: Rob H. <ro...@ca...> - 2004-06-21 22:10:10
|
Are you calling getBean() on different threads each time?
I have this test:
public void testMultipleProxies() {
ProxyFactory pf = new ProxyFactory(new Class[] { ITestBean.class });
pf.setProxyTargetClass(true);
MethodInterceptor static1 = new Advices.NopInterceptor();
MethodInterceptor static2 = new Advices.ReadDataInterceptor();
pf.addInterceptor(static1);
pf.addInterceptor(static2);
Advisor static3 = new Advices.SetterPointCut(new
Advices.NopInterceptor());
Advisor static4 = new Advices.SetterPointCut(new
Advices.ReadDataInterceptor());
pf.addAdvisor(static3);
pf.addAdvisor(static4);
pf.addAdvisor(new Advices.ObjectReturnPointCut(new
Advices.NopInterceptor()));
TestBean target = new TestBean();
pf.setTarget(target);
pf.setFrozen(true);
pf.setExposeProxy(false);
ITestBean proxy1 = (ITestBean) pf.getProxy();
ITestBean proxy2 = (ITestBean) pf.getProxy();
System.out.println(proxy1.getClass().getName());
System.out.println(proxy2.getClass().getName());
assertTrue(proxy1.getClass() == proxy2.getClass());
}
And it passes fine, however I have observed in the StaticAopTest class
in the load package that a different class is used for each thread in
the test suite runner. These classes have the same name with a _XX
suffix. This is not the same as before however when the class names
generated were completely different. I need to do a little more
investigation to see how Cglib implements the bytecode under all of
this.
Rob
On 21 Jun 2004, at 22:31, Norris, Tyson wrote:
> Rob et al -
> I've been trying out the changes in the Cglib2AopProxy class, and am
> still getting behavior where each instantiation of my proxied bean is
> iterating all the methods of the bean - as mentioned in jira issue
> SPR-175 (sorry for spreading this onto the mailing list - I thought
> others might have an opinion).
>
> I am concerned that my class is not properly getting cached by cglib.
>
> I have tried using the CVS version of Cglib2AopProxy (with the CVS
> version of cglib jar), and the classes returned by 2 consecutive calls
> to ApplicationContext.getBean(beanName) returns instances of the
> following classes:
>
> [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_34@3452
>
> [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_35@3455
>
> So I think the classes are not properly getting cached properly by
> CGLIB, although cglib's Key.hascode() is returning the same value in
> both cases (5ffa4f23).
>
> Anyhow, sorry if this is confusing, but I think there is a problem in
> there, but I haven't been able to get to the bottom of it.
>
> Thanks for any info or comments.
>
> Tyson
>
> -----Original Message-----
> From: Rob Harrop [mailto:ro...@ca...]
> Sent: Friday, June 11, 2004 2:46 PM
> To: spr...@li...
> Subject: Re: [Springframework-developer] Not leveraging the CGLIB cache
>
> James (All),
>
> First I better introduce myself, my name is Rob Harrop and I have been
> working on the Cglib proxy class, fixing bugs and improving
> performance.
>
> The problem you mention is now fixed, but it does rely on the HEAD of
> Cglib (which I mistakenly checked into CVS without changing the name).
> The new CallbackFilter correctly implements hashCode so that Cglib can
> cache class instances.
>
> Rob
>
> On 11 Jun 2004, at 22:05, James Cook wrote:
>
>> Rod,
>>
>> Do you remember this issue? Has this one been addressed yet?
>>
>> http://article.gmane.org/gmane.comp.java.springframework.user/1502
>>
>> From: Chris Nokleberg <chris <at> sixlegs.com>
>> Subject: Re: CGLIB proxies are not assignable
>> Newsgroups: gmane.comp.java.springframework.user
>> Date: Sun, 11 Apr 2004 17:15:30 +0000
>>
>> Rod Johnson <rod.johnson <at> interface21.com> writes:
>>> This is the behaviour I would expect. As you say, maybe we should
>>> add it to the docs. All proxies _are_ instances of the class to be
>>> proxied.
>>
>> I actually think this is a bug. If the name of the class is changing
>> it means that caching of generated classes is not working correctly
>> --it is probably generating a new class per proxy. This will obviously
>> slow down proxy creation tremendously and eventually cause
>> OutOfMemoryExceptions. The typical culprit is when you use a
>> custom CallbackFilter that does not implement equals/hashCode. I
>> don't have time right now but I'll take a look soon.
>>
>> Happy Easter
>> Chris
>>
>>
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by the new InstallShield X.
>> From Windows to Linux, servers to mobile, InstallShield X is the
>> one installation-authoring solution that does it all. Learn more and
>> evaluate today! http://www.installshield.com/Dev2Dev/0504
>> _______________________________________________
>> Springframework-developer mailing list
>> Spr...@li...
>> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the new InstallShield X.
> From Windows to Linux, servers to mobile, InstallShield X is the
> one installation-authoring solution that does it all. Learn more and
> evaluate today! http://www.installshield.com/Dev2Dev/0504
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by Black Hat Briefings & Training.
> Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
> digital self defense, top technical experts, no vendor pitches,
> unmatched networking opportunities. Visit www.blackhat.com
> _______________________________________________
> Springframework-developer mailing list
> Spr...@li...
> https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
|
|
From: Norris, T. <tys...@be...> - 2004-06-21 21:31:59
|
Rob et al -=20 I've been trying out the changes in the Cglib2AopProxy class, and am still getting behavior where each instantiation of my proxied bean is iterating all the methods of the bean - as mentioned in jira issue SPR-175 (sorry for spreading this onto the mailing list - I thought others might have an opinion).=20 I am concerned that my class is not properly getting cached by cglib. I have tried using the CVS version of Cglib2AopProxy (with the CVS version of cglib jar), and the classes returned by 2 consecutive calls to ApplicationContext.getBean(beanName) returns instances of the following classes: [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_34@3452 [my_class_name]$$EnhancerByCGLIB$$5ffa4f23_35@3455 So I think the classes are not properly getting cached properly by CGLIB, although cglib's Key.hascode() is returning the same value in both cases (5ffa4f23). Anyhow, sorry if this is confusing, but I think there is a problem in there, but I haven't been able to get to the bottom of it. Thanks for any info or comments. Tyson -----Original Message----- From: Rob Harrop [mailto:ro...@ca...]=20 Sent: Friday, June 11, 2004 2:46 PM To: spr...@li... Subject: Re: [Springframework-developer] Not leveraging the CGLIB cache James (All), First I better introduce myself, my name is Rob Harrop and I have been=20 working on the Cglib proxy class, fixing bugs and improving=20 performance. The problem you mention is now fixed, but it does rely on the HEAD of=20 Cglib (which I mistakenly checked into CVS without changing the name).=20 The new CallbackFilter correctly implements hashCode so that Cglib can=20 cache class instances. Rob On 11 Jun 2004, at 22:05, James Cook wrote: > Rod, > > Do you remember this issue? Has this one been addressed yet? > > http://article.gmane.org/gmane.comp.java.springframework.user/1502 > > From: Chris Nokleberg <chris <at> sixlegs.com> > Subject: Re: CGLIB proxies are not assignable > Newsgroups: gmane.comp.java.springframework.user > Date: Sun, 11 Apr 2004 17:15:30 +0000 > > Rod Johnson <rod.johnson <at> interface21.com> writes: >> This is the behaviour I would expect. As you say, maybe we should >> add it to the docs. All proxies _are_ instances of the class to be >> proxied. > > I actually think this is a bug. If the name of the class is changing > it means that caching of generated classes is not working correctly > --it is probably generating a new class per proxy. This will obviously > slow down proxy creation tremendously and eventually cause > OutOfMemoryExceptions. The typical culprit is when you use a > custom CallbackFilter that does not implement equals/hashCode. I > don't have time right now but I'll take a look soon. > > Happy Easter > Chris > > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the new InstallShield X. > From Windows to Linux, servers to mobile, InstallShield X is the > one installation-authoring solution that does it all. Learn more and > evaluate today! http://www.installshield.com/Dev2Dev/0504 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > ------------------------------------------------------- This SF.Net email is sponsored by the new InstallShield X. From Windows to Linux, servers to mobile, InstallShield X is the one installation-authoring solution that does it all. Learn more and evaluate today! http://www.installshield.com/Dev2Dev/0504 _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Rob H. <ro...@ca...> - 2004-06-21 19:47:55
|
I have a project that really needs to have Spring and JMX integration. I heard from Rod that Keith has perhaps got some code done on this already. I am interested in getting some code done on this so if everyone can let me know where they are up to then hopefully I can put some work into the JMX stuff. Rob |
|
From: Tim C. <tc...@ta...> - 2004-06-21 13:47:13
|
Hey Jurgen, Have you thought about making a Spring specific maven repo? Much like=20 codehaus (http://dist.codehaus.org) does? It would be great as you can even use it to put up a -dev or -SNAPSHOT=20 build every night if you wanted to without having to wait on ibiblio=20 deployments. It would also give people the change to pick up any new bug changes that=20 might apply to them right away. Just a thought. -Tim Alef Arendsen wrote: >Oops, forgot about that... I'll prepare it today... > >Alef > > > =20 > >>-----Original Message----- >>From: spr...@li... >>[mailto:spr...@li...] On Behal= f >>Of j=FCrgen h=F6ller [werk3AT] >>Sent: Sunday, June 20, 2004 11:16 PM >>To: spr...@li... >>Subject: [Springframework-developer] Upload 1.0.2 to ibiblio >> >>Who cares for our ibiblio uploads, usually? We have a request to upload >>Spring 1.0.2 there... >> >>http://opensource.atlassian.com/projects/spring/browse/SPR-171 >> >>Juergen >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference >>Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer >>Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA >>REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKN= D >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >>https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >> >> =20 >> > > > > >------------------------------------------------------- >This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference >Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer >Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA >REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND >_______________________________________________ >Springframework-developer mailing list >Spr...@li... >https://lists.sourceforge.net/lists/listinfo/springframework-developer > > =20 > |
|
From: <jue...@we...> - 2004-06-21 08:51:32
|
Colin, =20 I second that. Please code it via reflection; we wouldn't wan't to ship = a 1.6 MB jboss.jar just because of that. The 45 KB = jboss-common-jdbc.wrapper.jar is fine, so I guess just coding the = ResultSet unwrapping via reflection should be good enough. =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Rod Johnson Gesendet: So 20.06.2004 16:16 An: spr...@li... Betreff: Re: [Springframework-developer] JBoss 3.2.4 WrappedResultSet = support added in JBossNativeJdbcAdapter > I just realized this ties this class to JBoss 3.2.4. Probably not a > reasonable thing to do since people might be running 3.2.3 (or 3.2.2) > for a while yet. Anybody object if I make the wrapped ResultSet access > via reflection? No, please do. ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: Alef A. <al...@jt...> - 2004-06-21 07:44:25
|
Oops, forgot about that... I'll prepare it today... Alef > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...] On = Behalf > Of j=FCrgen h=F6ller [werk3AT] > Sent: Sunday, June 20, 2004 11:16 PM > To: spr...@li... > Subject: [Springframework-developer] Upload 1.0.2 to ibiblio >=20 > Who cares for our ibiblio uploads, usually? We have a request to = upload > Spring 1.0.2 there... >=20 > http://opensource.atlassian.com/projects/spring/browse/SPR-171 >=20 > Juergen >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, = CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code = NWMGYKND > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 >=20 |
|
From: Alef A. <al...@jt...> - 2004-06-21 07:29:13
|
I think it's a good idea to decouple the handlermappings from the interceptors. I don't think it's such a huge refactoring. Juergen, could you shed your light on the following: - refactoring of AbstractHandlerMapping into AbstractMapping, factoring out functionality used for both AbstractHandlerMapping and AbstractInterceptorMapping - subclass of AbstractMapping: AbstractUrlMapping, responsible for URL related stuff (including PathHelper) - subclasses: AbstractUrlInterceptorMapping and AbstractUrlHandlerMapping From there on the old hierarchy for handler mappings can continue, interceptor structure could be the same. We don't really need to change anything to the HandlerExecutionChain AFAIK. Opinions? Alef > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...] On Behalf > Of Seth Ladd > Sent: Saturday, June 19, 2004 5:16 AM > To: spr...@li... > Subject: [Springframework-developer] Proposal for Handler/Interceptor > Enhancement >=20 > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 >=20 > Hello, >=20 > I've been using the Handler/Interceptor feature of Spring MVC and I > really like it. I'd like to propose an enhancement to it that I think > will make it more flexible and easier to configure in the *-servlet.xml > file. >=20 > Right now, you must specify a new HandlerMapping class when you want to > create different combinations of Interceptors.I'd like to propose that > Interceptor -> Handler binding is done more like Filters and outside of > the HandlerMapping class. >=20 > One solution would be an InterceptorMapping class, which is configured > like a HandlerMapping class. It could contain a map of URIs to > interceptors. This InterceptorMapping class would be given to the > HandlerMapping class. The HandlerMapping class then calls something > like interceptorMapping.findInterceptors(servletRequest) when it's ready > to build a HandlerExecutionChain. >=20 > This would allow for all Handlers to use BeanNameHandlerMapping (or a > single HandlerMapping), but be configured with different Interceptors. > The binding of which Interceptor to be applied to which Handler is now > not part of the HandlerMapping. This cuts down on the number of > HandlerMappings to specify and configure, especially in high-Interceptor > usage scenarios. >=20 > Thoughts? Comments? If this is unclear, please let me know. Also, if > there's a better way to do this with existing code, then even better. :) >=20 > Mahalo! > Seth >=20 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.3-nr1 (Windows XP) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org >=20 > iD8DBQFA06veKZsFSwtW+wIRAm+/AJ4hW4eVNWZgoZfe0Mk/WaBzhzZgXACfV1zP > O5hGTiOJRmxYO+mfntWlHOE=3D > =3D0RPV > -----END PGP SIGNATURE----- >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 >=20 |
|
From: <jue...@we...> - 2004-06-20 22:24:08
|
OK, thanks - no need to hurry :-) =20 Juergen =20 ________________________________ Von: spr...@li... im Auftrag = von Darren Davison Gesendet: Mo 21.06.2004 00:07 An: spr...@li... Betreff: Re: [Springframework-developer] Make AbstractXsltView slightly = more reusable -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sunday 20 June 2004 22:13, j=FCrgen h=F6ller [werk3AT] wrote: > Darren, > > Have you already checked this enhancement request out? > > http://opensource.atlassian.com/projects/spring/browse/SPR-170 no, I saw on Thursday you'd assigned it to me, but I've been away most = of the weekend. I'll have a look tomorrow - don't think it will be a = problem though. - -- Darren Davison Public Key: http://www.davison.uk.net/pages/key.htm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFA1gqwKLMLAN01aw0RAg2eAJ4liHlaIoKk/a65BF4RN5R3qyZj3gCeKAdP RMH91wMXqSgikRnKRXE+yq8=3D =3DSZKX -----END PGP SIGNATURE----- ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |
|
From: <al...@jt...> - 2004-06-20 22:15:16
|
<html><head>
<style>
.white { color:#FFFFFF }.index { background-color:#FFFFFF }.index-passed { =
color:#004400 }.index-failed { color:#FF0000; font-weight:bold }.index-head=
er { font-weight:bold }.link { font-family:arial,helvetica,sans-serif; font=
-size:10pt; color:#FFFFFF; text-decoration:none; }.tab-table { margin: 0em =
0em 0.5em 0em; }.tabs { font-family:arial,helvetica,sans-serif; font-size:8=
pt; color:#000000; font-weight:bold; padding: 0em 2em; background-color:#EE=
EEEE; }.tabs-link { color:#000000; text-decoration:none; }.tabs-link:visite=
d { color:#000000; text-decoration:none; }.tabs-selected { font-family:aria=
l,helvetica,sans-serif; font-size:8pt; color:#000000; font-weight:bold; pad=
ding: 0em 2em; }.tabs-selected { border: inset; }.header-title { font-famil=
y:arial,helvetica,sans-serif; font-size:12pt; color:#000000; font-weight:bo=
ld; }.header-label { font-weight:bold; }.header-data { font-family:arial,he=
lvetica,sans-serif; font-size:10pt; color:#000000; }.modifications-data { f=
ont-family:arial,helvetica,sans-serif; font-size:8pt; color:#000000; }.modi=
fications-sectionheader { background-color:#000066; font-family:arial,helve=
tica,sans-serif; font-size:10pt; color:#FFFFFF; }.modifications-oddrow { ba=
ckground-color:#CCCCCC }.modifications-evenrow { background-color:#FFFFCC }=
.changelists-oddrow { background-color:#CCCCCC }.changelists-evenrow { back=
ground-color:#FFFFCC }.changelists-file-spacer { background-color:#FFFFFF }=
.changelists-file-evenrow { background-color:#EEEEEE }.changelists-file-odd=
row { background-color:#FFFFEE }.changelists-file-header { background-color=
:#666666; font-family:arial,helvetica,sans-serif; font-size:8pt; color:#FFF=
FFF; }.compile-data { font-family:arial,helvetica,sans-serif; font-size:8pt=
; color:#000000; }.compile-error-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#FF0000; }.compile-warn-data { font-family:arial,=
helvetica,sans-serif; font-size:8pt; color:#CC9900; }.compile-sectionheader=
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-s=
ize:10pt; color:#FFFFFF; }.distributables-data { font-family:arial,helvetic=
a,sans-serif; font-size:8pt; color:#000000; }.distributables-sectionheader =
{ background-color:#000066; font-family:arial,helvetica,sans-serif; font-si=
ze:10pt; color:#FFFFFF; }.distributables-oddrow { background-color:#CCCCCC =
}.unittests-sectionheader { background-color:#000066; font-family:arial,hel=
vetica,sans-serif; font-size:10pt; color:#FFFFFF; }.unittests-oddrow { back=
ground-color:#CCCCCC }.unittests-data { font-family:arial,helvetica,sans-se=
rif; font-size:8pt; color:#000000; }.unittests-error { font-family:arial,he=
lvetica,sans-serif; font-size:8pt; color:#FF0000; }.checkstyle-oddrow { bac=
kground-color:#CCCCCC }.checkstyle-data { font-family:arial,helvetica,sans-=
serif; font-size:8pt; color:#000000; }.checkstyle-sectionheader { backgroun=
d-color:#000066; font-family:arial,helvetica,sans-serif; font-size:10pt; co=
lor:#FFFFFF; }
</style>
</head><body>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"header-title">BUILD COMPLETE - =
build.31</td></tr><tr><td class=3D"header-data"><span class=
=3D"header-label">Date of build: </span>06/21/2004 00:16:29</td></tr><=
tr><td class=3D"header-data"><span class=3D"header-label">Time to build:&nb=
sp;</span>13 minutes 23 seconds</td></tr><tr><td class=3D"header-data"><spa=
n class=3D"header-label">Last changed: </span>06/20/2004 10:43:30</td>=
</tr><tr><td class=3D"header-data"><span class=3D"header-label">Last log en=
try: </span>resin updates</td></tr></table><p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"/><p>
<p>
<table xmlns=3D"http://www.w3.org/TR/html4/strict.dtd" width=3D"98%" border=
=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"center"><tr><td class=
=3D"compile-sectionheader"> Errors/Warnings: (=
6) </td></tr><tr><td><pre class=3D"compile-error-data">N=
ote: Some input files use or override a deprecated API.<br class=3D"none"/>=
Note: Recompile with -deprecation for details.Note: /jteam/build/checkout/s=
pring/spring/mock/org/springframework/mock/web/MockHttpSession.java uses or=
overrides a deprecated API.<br class=3D"none"/>Note: Recompile with -depre=
cation for details.<br class=3D"none"/>Note: Some input files use or overri=
de a deprecated API.<br class=3D"none"/>Note: Recompile with -deprecation f=
or details.<br class=3D"none"/></pre></td></tr></table><p>
<p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Tests: (1470) </td></tr><tr><td><tabl=
e width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=3D"c=
enter"><tr><td class=3D"unittests-data"> failure =
</td><td width=3D"40%" class=3D"unittests-data">testHomePage</td><td width=
=3D"40%" class=3D"unittests-data">org.springframework.apptests.buildtest.Al=
lTests</td></tr></table></td></tr><tr></tr><tr><td colspan=3D"2"> </td=
></tr><tr><td colspan=3D"4" class=3D"unittests-sectionheader"> =
Unit Test Error Details: (1) </td></tr><tr=
><td class=3D"unittests-data" colspan=3D"2"> Test: test=
HomePage</td></tr><tr><td class=3D"unittests-data" colspan=3D"2"> =
Class: org.springframework.apptests.buildtest.AllTests</td></tr>=
<tr><td class=3D"unittests-data" colspan=3D"2"> Type: junit.=
framework.AssertionFailedError</td></tr><tr><td class=3D"unittests-data" co=
lspan=3D"2"> Message: Exception while testing URL http://loc=
alhost:13084/buildtest:java.io.IOException</td></tr><tr><td class=3D"unitte=
sts-error" colspan=3D"2"><pre>junit.framework.AssertionFailedError: Excepti=
on while testing URL http://localhost:13084/buildtest:java.io.IOException<b=
r>=09at org.springframework.apptests.buildtest.AllTests.testHomePage(Unknow=
n Source)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth=
od)<br>=09at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess=
orImpl.java:39)<br>=09at sun.reflect.DelegatingMethodAccessorImpl.invoke(De=
legatingMethodAccessorImpl.java:25)<br></pre></td></tr><tr><td colspan=3D"2=
"> </td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td colspan=3D"4" class=3D"modifications-sectionheader"> =
Modifications since last build: =
(10) </td></tr><tr class=3D"modifications-evenrow"><td =
class=3D"modifications-data">modified</td><td class=3D"modifications-data">=
davison</td><td class=3D"modifications-data">autobuilds/build/build.xml</td=
><td class=3D"modifications-data">resin updates</td></tr><tr class=3D"modif=
ications-oddrow"><td class=3D"modifications-data">modified</td><td class=3D=
"modifications-data">davison</td><td class=3D"modifications-data">autobuild=
s/build/resin3-build.xml</td><td class=3D"modifications-data">resin updates=
</td></tr><tr class=3D"modifications-evenrow"><td class=3D"modifications-da=
ta">modified</td><td class=3D"modifications-data">colins</td><td class=3D"m=
odifications-data">/.classpath</td><td class=3D"modifications-data">Allow J=
Boss 3.2.4 WrappedResultSet to be handled by JBoss jdbc adapter</td></tr><t=
r class=3D"modifications-oddrow"><td class=3D"modifications-data">added</td=
><td class=3D"modifications-data">colins</td><td class=3D"modifications-dat=
a">lib/jboss/jboss.jar</td><td class=3D"modifications-data">Allow JBoss 3.2=
.4 WrappedResultSet to be handled by JBoss jdbc adapter</td></tr><tr class=
=3D"modifications-evenrow"><td class=3D"modifications-data">modified</td><t=
d class=3D"modifications-data">colins</td><td class=3D"modifications-data">=
src/org/springframework/jdbc/support/nativejdbc/JBossNativeJdbcExtractor.ja=
va</td><td class=3D"modifications-data">Allow JBoss 3.2.4 WrappedResultSet =
to be handled by JBoss jdbc adapter</td></tr><tr class=3D"modifications-odd=
row"><td class=3D"modifications-data">modified</td><td class=3D"modificatio=
ns-data">colins</td><td class=3D"modifications-data">lib/jboss/jboss-common=
-jdbc-wrapper.jar</td><td class=3D"modifications-data">JBoss Wrapper jar fr=
om JBoss 3.2.4</td></tr><tr class=3D"modifications-evenrow"><td class=3D"mo=
difications-data">modified</td><td class=3D"modifications-data">johnsonr</t=
d><td class=3D"modifications-data">src/org/springframework/aop/framework/Pr=
oxyFactoryBean.java</td><td class=3D"modifications-data">Clarified behaviou=
r of ProxyFactoryBean on duplicate TargetSource definitions.Slightly better=
docs, minor refactoring.</td></tr><tr class=3D"modifications-oddrow"><td c=
lass=3D"modifications-data">modified</td><td class=3D"modifications-data">j=
ohnsonr</td><td class=3D"modifications-data">test/org/springframework/aop/f=
ramework/ProxyFactoryBeanTests.java</td><td class=3D"modifications-data">Cl=
arified behaviour of ProxyFactoryBean on duplicate TargetSource definitions=
.Slightly better docs, minor refactoring.</td></tr><tr class=3D"modificatio=
ns-evenrow"><td class=3D"modifications-data">modified</td><td class=3D"modi=
fications-data">johnsonr</td><td class=3D"modifications-data">test/org/spri=
ngframework/aop/framework/proxyFactoryDoubleTargetSourceTests.xml</td><td c=
lass=3D"modifications-data">Clarified behaviour of ProxyFactoryBean on dupl=
icate TargetSource definitions.Slightly better docs, minor refactoring.</td=
></tr><tr class=3D"modifications-oddrow"><td class=3D"modifications-data">a=
dded</td><td class=3D"modifications-data">johnsonr</td><td class=3D"modific=
ations-data">test/org/springframework/aop/framework/proxyFactoryTargetSourc=
eNotLastTests.xml</td><td class=3D"modifications-data">Clarified behaviour =
of ProxyFactoryBean on duplicate TargetSource definitions.Slightly better d=
ocs, minor refactoring.</td></tr></table><p>
<table width=3D"98%" border=3D"0" cellspacing=3D"0" cellpadding=3D"2" align=
=3D"center"><tr><td class=3D"distributables-sectionheader"> =
Deployments by this build: (8) </td><=
/tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/checko=
ut/spring/spring/dist/spring.jar</td></tr><tr class=3D"distributables-oddro=
w"><td class=3D"distributables-data">Building war: /jteam/build/checkout/sp=
ring/spring/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr><td c=
lass=3D"distributables-data">Building war: /jteam/build/checkout/spring/spr=
ing/autobuilds/apps/buildtest/dist/buildtest.war</td></tr><tr class=3D"dist=
ributables-oddrow"><td class=3D"distributables-data">Building war: /jteam/b=
uild/checkout/spring/spring/autobuilds/apps/buildtest/dist/buildtest.war</t=
d></tr><tr><td class=3D"distributables-data">Building jar: /jteam/build/che=
ckout/spring/spring/autobuilds/apps/jpetstore/war/WEB-INF/lib/jpetstore.jar=
</td></tr><tr class=3D"distributables-oddrow"><td class=3D"distributables-d=
ata">Building war: /jteam/build/checkout/spring/spring/autobuilds/apps/jpet=
store/dist/jpetstore.war</td></tr><tr><td class=3D"distributables-data">Bui=
lding jar: /jteam/build/checkout/spring/spring/autobuilds/apps/jpetstore/wa=
r/WEB-INF/lib/jpetstore.jar</td></tr><tr class=3D"distributables-oddrow"><t=
d class=3D"distributables-data">Building war: /jteam/build/checkout/spring/=
spring/autobuilds/apps/jpetstore/dist/jpetstore.war</td></tr></table>
</body></html> |
|
From: Darren D. <da...@da...> - 2004-06-20 22:07:50
|
=2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sunday 20 June 2004 22:13, j=FCrgen h=F6ller [werk3AT] wrote: > Darren, > > Have you already checked this enhancement request out? > > http://opensource.atlassian.com/projects/spring/browse/SPR-170 no, I saw on Thursday you'd assigned it to me, but I've been away most of=20 the weekend. I'll have a look tomorrow - don't think it will be a problem= =20 though. =2D --=20 Darren Davison Public Key: http://www.davison.uk.net/pages/key.htm =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFA1gqwKLMLAN01aw0RAg2eAJ4liHlaIoKk/a65BF4RN5R3qyZj3gCeKAdP RMH91wMXqSgikRnKRXE+yq8=3D =3DSZKX =2D----END PGP SIGNATURE----- |
|
From: Nadeem B. <na...@ea...> - 2004-06-20 21:41:15
|
On =E6=97=A5, 2004-06-20 at 23:11 +0200, j=C3=BCrgen h=C3=B6ller [werk3AT] = wrote: > Who cares for our ibiblio uploads, usually? We have a request to upload S= pring 1.0.2 there... > =20 > http://opensource.atlassian.com/projects/spring/browse/SPR-171 > =20 > Juergen >=20 I think anyone who is using maven to build their projects and is using spring would care if the latest releases are uploaded to ibiblio. This would facilitate to upgrade their project to the latest spring framework version. I personally am using a local repository because ibiblio is usually not kept up2date.=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer |