|
From: <jue...@we...> - 2003-12-16 00:49:32
|
Ross, =20 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). =20 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: =20 <bean id=3D"notifierCreatePage" class=3D"..." autowire=3D"byType"> <property name=3D"emailTemplateManager"><ref = bean=3D"myEmailTemplateManager"/></property> ... </bean> =20 Juergen =20 ________________________________ 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, >=20 > "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? >=20 > Juergen >=20 > > ________________________________ > > 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-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 |