On 7/5/06, Enrique Medina Montenegro <[EMAIL PROTECTED]> wrote:
Umm, I see.

I found something like this in one post, but seems that for Spring 2.0 is no longer valid:

<bean id="newWidget" class="model.Widget" singleton="false" jsf:scope="request"/>

Any idea?

Hmm ... sounds like a good question to ask on the Spring forum.  The reference manual for Spring 2 talks about using the new generalized support for scopes as being applicable here as well, but I can't seem to find any specific references with respect to web application scopes.

Need to look at the Spring 2 sample apps as well (although it sounds like the kids next door *finally* ran out of fireworks, so maybe this will need to wait until tomorrow :-).

Craig

On 7/5/06, Craig McClanahan <[EMAIL PROTECTED]> wrote:


On 7/4/06, Enrique Medina Montenegro < [EMAIL PROTECTED]> wrote:
Craig,

So in the documentation at the web site regarding Shale-Spring integration, when you show this example:

or as a Spring bean in /WEB-INF/applicationContext.xml:

  <bean id="domains"
class="com.mycompany.mypackage.MyDomainsImpl"
singleton="true">
... configuration of managed properties ...

</bean>


What would be the scope for that JSF bean then?

The technically correct answer is "none of the above" :-)

The more helpful answer is to understand that singleton="true" in a Spring configuration file means the bean will be created only once per application ... which is similar in *effect* to storing it in application scope (you only get one copy), but it isn't actually placed into application scope.

If you said singleton="false" instead, this would correspond exactly to a managed bean scope of "none" ... meaning a new instance would be created every time you asked for it.


Craig


On 7/4/06, Craig McClanahan < [EMAIL PROTECTED]> wrote:


On 7/4/06, Enrique Medina Montenegro <[EMAIL PROTECTED] > wrote:
Hi,

I'm starting a new development where I will use MyFaces together with Shale and Spring. I've been reading the documentation regarding the integration between Spring and Shale, in terms of the delegating VariableResolver. Furthermore, I've been reading the documentation regarding Tiger extensions for Shale.

So the point is I want to use both the Spring integration and the Tiger extensions for the same purpose: get my JSF managed beans.

And here comes the question. Is it possible to combine both the @Bean annotation and the definition of the bean in the applicationContext.xml from Spring? The reason for this question is very simple, and maybe there's a workaround for it without having to use both functionalities all together: I would like to define all my beans within Spring's applicationContext.xml, but I don't know how to indicate the scope for those beans, so I was wondering whether the use in conjunction with the @Bean(name="xxxxBean" scope=Scope.REQUEST) annotation would help to achieve the desired result.

Currently this combination will not do what you want ... the @Bean annotation focuses only on replacing declarations in a faces-config.xml file (and, implicitly, replacing declarations in applicationContext.xml as well).  To get what you're after, I would look at a couple of different things:

* There's a spring-jsf extensions project at SourceForge that
  implies it can store Spring beans into a specified scope
  (I haven't actually tried this one).

* Spring 2 is supposed to have this feature, as part of its JSF
  integration, out of the box.

Craig


Thanks.





Reply via email to