|
From: <jue...@we...> - 2003-12-18 19:31:55
|
Ross, I've just re-tested Petclinic from our current CVS HEAD against a = dropped-in Hibernate 2.1 final (plus cglib2, minus cglib-asm), with and = without OpenSessionInViewFilter. Works nicely for me - no VerifyErrors. = Could you please re-try and re-report if there are still issues? 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 = interfaces (the default). Simply remove cglib-asm from the class path, = drop in hibernate2, cglib2, eh-cache - and you should be done. Juergen -----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... Hi j=FCrgen, Sounds interesting, anything without EJB is always a bonus in my book -=20 excuse the pun ;-) We've actually decided to wait for the M4 release before migrating. The = 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 Spring = HEAD due to an incompatability with the two jars. 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. Cheers, Ross j=FCrgen h=F6ller [werk3AT] wrote: > It's "J2EE Development Without EJB", co-authored by Rod and me, the = follow-up to Rod's "J2EE Design and Development". Editing deadline is = mid January, so you can guess that we're quite busy! >=20 > Of course, the book uses Spring for all examples - but it is an = architecture book, not a Spring tutorial. A dedicated Spring book will = follow later next year :-) >=20 > BTW, does the OpenSessionInViewFilter work for you? If there are any = issues with it, please tell me before the M4 release... >=20 > Finally, is there some documentation on the "external-ref" mechanism = that you use for XWork/Spring integration? We will probably refer to = that in Spring docs and the book, so I'd like to make sure that we get = the syntax right. >=20 > Juergen >=20 >=20 > -----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... >=20 >=20 > Ok mate, sounds like it's time for you to hit the sack. >=20 > BTW What's the book? you can tell me in the morning ;-) >=20 > Cheers, >=20 > Ross >=20 > j=FCrgen h=F6ller [werk3AT] wrote: >=20 >=20 >>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, = both the proxy and the target object will match the type. You need to = resort to explicit references for such beans - as I said, this will even = work for specific references if you apply autowire-by-type in general. >>=20 >>BTW, have I mentioned that writing a book is *damn hard work*? ;-) >>=20 >>Juergen >>=20 >> >>________________________________ >> >>Von: spr...@li... im Auftrag = von Ross Mason >>Gesendet: Di 16.12.2003 02:23 >>An: spr...@li... >>Betreff: Re: [Springframework-developer] Refreshing the = ApplicationContext... >> >> >> >>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.TransactionProxyFactoryBean= ). >>- 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 = automatically scan all the bean definitions in those files. In your = case, I assume that you do have multiple definitions of type = EmailTemplateManager, possibly in two different context files. You could = check that programmatically by examining the result of = ApplicationContext.getBeansOfType(EmailTemplateManager.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 = property "emailTemplateManager" of bean "notifierCreatePage" to a = specific bean of type EmailTemplateManager: >>> >>><bean id=3D"notifierCreatePage" class=3D"..." autowire=3D"byType"> >>> <property name=3D"emailTemplateManager"><ref = bean=3D"myEmailTemplateManager"/></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 = ApplicationContext... >>> >>> >>> >>>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 = setup >>>their db settings, at which point we initialise the container. After >>>that, if/when the server is restarted we use your = ContextLoaderListener >>>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 = misleading >>>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 = bean >>>'producerCreatePage'; nested exception is: >>>org.springframework.beans.factory.UnsatisfiedDependencyException: = Bean >>>with name 'notifierCreatePage' has an unsatisfied dependency = expressed >>>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 is 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 implementation, maybe due to being created by = FactoryBeans. Could you quote relevant parts of your configuration? >>>> >>>>Juergen >>>> >>>> >>>>________________________________ >>>> >>>>Von: spr...@li... im = Auftrag von Ross Mason >>>>Gesendet: Mo 15.12.2003 07:50 >>>>An: spr...@li... >>>>Betreff: [Springframework-developer] Refreshing the = ApplicationContext... >>>> >>>> >>>> >>>>Hi, >>>> >>>>In the latest source the ApplicationContext.refresh() method has = been >>>>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 = matching >>>>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 = admin. >>>>Click now! = http://ads.osdn.com/?ad_id=3D1278&alloc_id=3D3371&op=3Dclick >>>>_______________________________________________ >>>>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 = IBM's >>>>Free Linux Tutorials. Learn everything from the bash shell to sys = admin. >>>>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 = IBM's >>>Free Linux Tutorials. Learn everything from the bash shell to sys = admin. >>>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 = admin. >>>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 = admin. >>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 = admin. >>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 = admin. > 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 = admin. > 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 ------------------------------------------------------- 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 = admin. 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 |