|
From: Ross M. <ro...@at...> - 2003-12-18 22:26:42
|
Ok mate, I'll get on the case today Ross j=FCrgen h=F6ller [werk3AT] wrote: > Ross, >=20 > I've just re-tested Petclinic from our current CVS HEAD against a dropp= ed-in Hibernate 2.1 final (plus cglib2, minus cglib-asm), with and withou= t OpenSessionInViewFilter. Works nicely for me - no VerifyErrors. Could y= ou please re-try and re-report if there are still issues? >=20 > Note that the AOP framework is not migrated to CGLIB2 yet (it's in the = works), but this shouldn't affect you at all if you just proxy via interf= aces (the default). Simply remove cglib-asm from the class path, drop in = hibernate2, cglib2, eh-cache - and you should be done. >=20 > Juergen >=20 >=20 > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...]On Behalf > Of Ross Mason > Sent: Tuesday, December 16, 2003 11:46 PM > To: spr...@li... > Subject: Re: [Springframework-developer] Refreshing the > ApplicationContext... >=20 >=20 > Hi j=FCrgen, >=20 > Sounds interesting, anything without EJB is always a bonus in my book -= =20 > excuse the pun ;-) >=20 > We've actually decided to wait for the M4 release before migrating. Th= e=20 > problem is that we're using a hibernate 2.1 jar built from HEAD and I=20 > was getting VerifyErrors errors when running with the latest from Sprin= g=20 > HEAD due to an incompatability with the two jars. >=20 > If you would like me to test it once M4 is using hibernate 2.1 and=20 > before you make the actual release I would be happy to. >=20 > Cheers, >=20 > Ross >=20 > j=FCrgen h=F6ller [werk3AT] wrote: >=20 >=20 >>It's "J2EE Development Without EJB", co-authored by Rod and me, the fol= low-up to Rod's "J2EE Design and Development". Editing deadline is mid Ja= nuary, so you can guess that we're quite busy! >> >>Of course, the book uses Spring for all examples - but it is an archite= cture book, not a Spring tutorial. A dedicated Spring book will follow la= ter next year :-) >> >>BTW, does the OpenSessionInViewFilter work for you? If there are any is= sues with it, please tell me before the M4 release... >> >>Finally, is there some documentation on the "external-ref" mechanism th= at you use for XWork/Spring integration? We will probably refer to that i= n Spring docs and the book, so I'd like to make sure that we get the synt= ax right. >> >>Juergen >> >> >>-----Original Message----- >>From: spr...@li... >>[mailto:spr...@li...]On Behalf >>Of Ross Mason >>Sent: Tuesday, December 16, 2003 3:39 AM >>To: spr...@li... >>Subject: Re: [Springframework-developer] Refreshing the >>ApplicationContext... >> >> >>Ok mate, sounds like it's time for you to hit the sack. >> >>BTW What's the book? you can tell me in the morning ;-) >> >>Cheers, >> >>Ross >> >>j=FCrgen h=F6ller [werk3AT] wrote: >> >> >> >>>I could have thought of that if it wasn't already so late (3:20 in the= morning now). Yes, that's a known limitation: If you proxy an object, bo= th the proxy and the target object will match the type. You need to resor= t to explicit references for such beans - as I said, this will even work = for specific references if you apply autowire-by-type in general. >>> >>>BTW, have I mentioned that writing a book is *damn hard work*? ;-) >>> >>>Juergen >>> >>> >>>________________________________ >>> >>>Von: spr...@li... im Auftrag = von Ross Mason >>>Gesendet: Di 16.12.2003 02:23 >>>An: spr...@li... >>>Betreff: Re: [Springframework-developer] Refreshing the ApplicationCon= text... >>> >>> >>> >>>Hi j=FCrgen, >>> >>>When I run getBeansOfType() on our config (turning off autowireByType)= I >>>do get two beans returned: >>>- I get the emialTemplateManager as expected (this is a proxy >>>org.springframework.transaction.interceptor.TransactionProxyFactoryBea= n). >>>- I also get back our emailTemplateManagerTarget which is our proxied >>>object. >>> >>>This suggests you can't use autowireByType when using >>>TransactionProxyFactoryBean or any other ProxyFactoryBean. Is this >>>intended behaviour? >>> >>>Cheers, >>> >>>Ross >>> >>> >>>j=FCrgen h=F6ller [werk3AT] wrote: >>> >>> >>> >>> >>>>Ross, >>>> >>>>If you build a single context from multiple files, autowiring will au= tomatically scan all the bean definitions in those files. In your case, I= assume that you do have multiple definitions of type EmailTemplateManage= r, possibly in two different context files. You could check that programm= atically by examining the result of ApplicationContext.getBeansOfType(Ema= ilTemplateManager.class, true, true). >>>> >>>>In any case, even if you apply autowiring in general, you can always = override a specific dependency, like an explicit bean reference from prop= erty "emailTemplateManager" of bean "notifierCreatePage" to a specific be= an of type EmailTemplateManager: >>>> >>>><bean id=3D"notifierCreatePage" class=3D"..." autowire=3D"byType"> >>>><property name=3D"emailTemplateManager"><ref bean=3D"myEmailTemplateM= anager"/></property> >>>>... >>>></bean> >>>> >>>>Juergen >>>> >>>> >>>>________________________________ >>>> >>>>Von: spr...@li... im Auftrag= von Ross Mason >>>>Gesendet: Di 16.12.2003 01:00 >>>>An: spr...@li... >>>>Betreff: Re: [Springframework-developer] Refreshing the ApplicationCo= ntext... >>>> >>>> >>>> >>>>Hi j=FCrgen, >>>> >>>>We were using refresh as we needed to defer the initialisation of the >>>>String container the first time our app is run until the user has set= up >>>>their db settings, at which point we initialise the container. After >>>>that, if/when the server is restarted we use your ContextLoaderListen= er >>>>is used to initialise the container. >>>> >>>>I think I've just realised what the problem is. We have 3 >>>>applicationContexts and the bean causing the error is defined in a >>>>different context. Is there a way to autowire over multiple contexts= ? >>>> >>>>If this is the case, the exception for this scenario is a bit mislead= ing >>>>as it tells me there is more than one satifiable dependency. >>>> >>>>The exception we get is - >>>>org.springframework.beans.FatalBeanException: Can't resolve reference= to >>>>bean 'notifierCreatePage' while setting property 'listeners[0]' on be= an >>>>'producerCreatePage'; nested exception is: >>>>org.springframework.beans.factory.UnsatisfiedDependencyException: Bea= n >>>>with name 'notifierCreatePage' has an unsatisfied dependency expresse= d >>>>through property 'emailTemplateManager': set this property value or >>>>disable dependency checking for this bean; detail message =3D [There = are 2 >>>>beans of type [interface >>>>com.atlassian.confluence.mail.template.EmailTemplateManager] for >>>>autowire by type. There should have been 1 to be able to autowire >>>>property 'emailTemplateManager' of bean 'notifierCreatePage'.] >>>>(This is very informative excetion BTW ;-)) >>>> >>>>Cheers, >>>> >>>>Ross >>>> >>>> >>>>j=FCrgen h=F6ller [werk3AT] wrote: >>>> >>>> >>>> >>>> >>>> >>>>>Hi Ross, >>>>> >>>>>"refresh" is now in ConfigurableApplicationContext, but you shouldn'= t need that for typical usages anyway. I guess what you're trying to do i= s custom initialization of the root WebApplicationContext, storing it in = a custom place via the setApplicationContext call. That should be fine: I= suppose that the error you're getting has other origins. Autowiring has = been significantly reworked; could you check for which components you get= more than one matching bean? The reason could be that you actually *have= * multiple matching beans, which just weren't found by M2's autowire impl= ementation, maybe due to being created by FactoryBeans. Could you quote r= elevant parts of your configuration? >>>>> >>>>>Juergen >>>>> >>>>> >>>>>________________________________ >>>>> >>>>>Von: spr...@li... im Auftra= g von Ross Mason >>>>>Gesendet: Mo 15.12.2003 07:50 >>>>>An: spr...@li... >>>>>Betreff: [Springframework-developer] Refreshing the ApplicationConte= xt... >>>>> >>>>> >>>>> >>>>>Hi, >>>>> >>>>>In the latest source the ApplicationContext.refresh() method has bee= n >>>>>removed. What is the recommended way of refreshing an >>>>>applicationContext now. I'm trying - >>>>> >>>>> ContextLoader loader =3D new ContextLoader(); >>>>> setApplicationContext( >>>>>loader.initWebApplicationContext(servletContext) ); >>>>> >>>>>But I am getting an error saying that there is more than one matchin= g >>>>>bean on some components when autoWiring by type. Our code and cofig >>>>>works fine with M2 release, but we're mored to the latest source to = make >>>>>use of the OpenSessionInViewFilter. >>>>> >>>>>Any ideas? >>>>> >>>>> >>>>>Cheers, >>>>> >>>>>Ross >>>>> >>>>> >>>>> >>>>>------------------------------------------------------- >>>>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>>>Become an expert in LINUX or just sharpen your skills. Sign up for = IBM's >>>>>Free Linux Tutorials. Learn everything from the bash shell to sys a= dmin. >>>>>Click now! http://ads.osdn.com/?ad_id=3D1278&alloc_id=3D3371&op=3Dcl= ick >>>>>_______________________________________________ >>>>>Springframework-developer mailing list >>>>>Spr...@li... >>>>>https://lists.sourceforge.net/lists/listinfo/springframework-develop= er >>>>> >>>>> >>>>> >>>>> >>>>>------------------------------------------------------- >>>>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>>>Become an expert in LINUX or just sharpen your skills. Sign up for = IBM's >>>>>Free Linux Tutorials. Learn everything from the bash shell to sys a= dmin. >>>>>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=CCk >>>>>_______________________________________________ >>>>>Springframework-developer mailing list >>>>>Spr...@li... >>>>>https://lists.sourceforge.net/lists/listinfo/springframework-develop= er >>>>> >>>> >>>> >>>> >>>> >>>>------------------------------------------------------- >>>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>>Become an expert in LINUX or just sharpen your skills. Sign up for I= BM's >>>>Free Linux Tutorials. Learn everything from the bash shell to sys ad= min. >>>>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=3Dick >>>>_______________________________________________ >>>>Springframework-developer mailing list >>>>Spr...@li... >>>>https://lists.sourceforge.net/lists/listinfo/springframework-develope= r >>>> >>>> >>>> >>>> >>>>------------------------------------------------------- >>>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>>Become an expert in LINUX or just sharpen your skills. Sign up for I= BM's >>>>Free Linux Tutorials. Learn everything from the bash shell to sys ad= min. >>>>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=CCk >>>>_______________________________________________ >>>>Springframework-developer mailing list >>>>Spr...@li... >>>>https://lists.sourceforge.net/lists/listinfo/springframework-develope= r >>>> >>> >>> >>> >>> >>>------------------------------------------------------- >>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>Become an expert in LINUX or just sharpen your skills. Sign up for IB= M's >>>Free Linux Tutorials. Learn everything from the bash shell to sys adm= in. >>>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=3Dick >>>_______________________________________________ >>>Springframework-developer mailing list >>>Spr...@li... >>>https://lists.sourceforge.net/lists/listinfo/springframework-developer >>> >>> >>> >>> >>>------------------------------------------------------- >>>This SF.net email is sponsored by: IBM Linux Tutorials. >>>Become an expert in LINUX or just sharpen your skills. Sign up for IB= M's >>>Free Linux Tutorials. Learn everything from the bash shell to sys adm= in. >>>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=CCk >>>_______________________________________________ >>>Springframework-developer mailing list >>>Spr...@li... >>>https://lists.sourceforge.net/lists/listinfo/springframework-developer >>> >> >> >> >> >>------------------------------------------------------- >>This SF.net email is sponsored by: IBM Linux Tutorials. >>Become an expert in LINUX or just sharpen your skills. Sign up for IBM= 's >>Free Linux Tutorials. Learn everything from the bash shell to sys admi= n. >>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=3Dick >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >>https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >> >>------------------------------------------------------- >>This SF.net email is sponsored by: IBM Linux Tutorials. >>Become an expert in LINUX or just sharpen your skills. Sign up for IBM= 's >>Free Linux Tutorials. Learn everything from the bash shell to sys admi= n. >>Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=CCk >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >>https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: IBM Linux Tutorials. > Become an expert in LINUX or just sharpen your skills. Sign up for IBM= 's > Free Linux Tutorials. Learn everything from the bash shell to sys admi= n. > Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=3Dick > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: IBM Linux Tutorials. > Become an expert in LINUX or just sharpen your skills. Sign up for IBM= 's > Free Linux Tutorials. Learn everything from the bash shell to sys admi= n. > Click now! http://ads.osdn.com/?ad_id=1278&alloc_id371&op=CCk > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 |