I'm not sure exactly how this pertains to the matter at hand. Are you suggesting that I make my action beans set to prototype? If so, I had tried this as well to no avail. As I'm using the Struts Spring plugin for my object factory I'm assuming that it's going to try and autowire every instance that is made anyhow.

If I misunderstood what you're hinting at, please let me know.

Thanks,
Tim

Martin Gainty wrote:
Tim-

http://static.springframework.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes

scope="prototype" would specify a single Bean would cover n number instances

HTH
Martin Gainty
______________________________________________ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission.



Date: Fri, 16 Jan 2009 12:50:14 -0500
From: to...@genome.med.harvard.edu
To: user@struts.apache.org
Subject: Re: Incorrect Bean Injected

Yeah, I tried both "none" as well as "no" and neither had any effect.

Relph,Brian wrote:
Did you try setting the value="none"?

Brian Relph

-----Original Message-----
From: Timothy Orme [mailto:to...@genome.med.harvard.edu] Sent: Friday, January 16, 2009 10:41 AM
To: Struts Users Mailing List
Subject: Re: Incorrect Bean Injected

So scratch that, I figured out that Struts is set to autowire by default with 
the spring plugin.

In my struts.xml I have:

<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> 
<constant name="struts.objectFactory.spring.autoWire" value="type" />

And am now autowiring by type instead of name. However, does anyone know how to 
turn off autowiring altogether?
I've seen a feature request for this, but it hasn't been filled yet. Has anyone 
devised a workaround?

Thanks,
Tim Orme

Timothy Orme wrote:
This seems really strange to me, but I don't know the inner workings of struts enough to know if it's expected behavior.

I'm using Struts 2.1.2 and spring 2.5.3

I have a 2 service beans that have the same name, but depending on the action, one might be used instead of the other.


<bean id="hibernateUserService" class="hibernate.service.impl.LoginUserServiceImpl">
</bean>

<bean id="sqlUserService" class="sql.service.impl.LoginUserServiceImpl">
</bean>

<bean id="submitQuoteAction" class="action.quotes.SubmitQuoteAction">
    <property name="userService" ref="hibernateUserService" /> </bean>

<bean id="registerUserAction" class="action.users.RegisterUserAction">
    <property name="userService" ref="sqlUserService"/> </bean>

So I have 2 beans, each serving a similar purpose, so named the same, but used in different actions.

What happens is, at the webapp startup, I see the beans get injected into the actions fine. The types are correct, and the property is set. The server starts without any issues. However, whats strange is that when I try and go to either action I get a null pointer for the userService objects in both actions.

I did notice though, that if I name one of the service beans to just "userService" instead of say, "hibernateUserService" then one of the actions will work correctly, while the other will fail saying that it cant cast sql.service.impl.LoginUserServiceImpl to hibernate.service.impl.LoginUserServiceImpl.

It seems then that Struts is wiring the properties by bean name and overriding the beans that I have specified in my applicationContext.
Does anyone know what would cause this or how to work around it?

Thanks,
Tim Orme

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

----------------------------------------------------------------------
CONFIDENTIALITY NOTICE This message and any included attachments are from 
Cerner Corporation and are intended only for the addressee. The information 
contained in this message is confidential and may constitute inside or 
non-public information under international, federal, or state securities laws. 
Unauthorized forwarding, printing, copying, distribution, or use of such 
information is strictly prohibited and may be unlawful. If you are not the 
addressee, please promptly delete this message and notify the sender of the 
delivery error by e-mail or you may call Cerner's corporate offices in Kansas 
City, Missouri, U.S.A at (+1) (816)221-1024.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org


_________________________________________________________________
Windows Liveā„¢: Keep your life in sync. http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t1_allup_explore_012009

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to