To me using conversation scope for a stateless bean sounds wrong. If your component has no state then it may as well be in the Seam stateless scope.
The @Out annotation will outject a component back into the relevant Seam context. How long that outjected reference survives for is dependent on the scope of the outjected component, not the component that is outjecting it.
thanks for replying.
we are using conversation scope to display the previous pages (without loss of state) when user clicks the browser Back button.
I am not sure if I can specify scope of a variable seperately in Seam 1.0.0 GA (Please correct me if I am wrong) In that case, scope of that variable should be same as the scope of the seam component in which it is defined.
now, the problem I am facing with conversation scope is some of seam variables, after they are outjected are availabe throughout the application while some are not. As a workaround, we have to explicitly set those variables in the session context and fetch them back at the required place.
Till now, it's working fine. But we don't want many workarounds of this type.
Also, my problem of factory methods getting called when other methods of session bean are executed has not solved yet.
Has it to do anything with Conversation scope ?
Is it possible that DataModel ( or other variables for which factory method are defined) looses it's value after one request execution (in conversation scope ) and because it has no value when request comes to that bean again, factory method gets executed ?
waiting for reply,
@Out(scope=) is in 1.0.
Any variables outjected into a conversation scope will be available for it's duration. @DataModel annotated variables are, indeed, outjected into the scope of the owning component.
You should really develop against 1.2 as there were a lot of improvements to the core and you'll be lucky to get much help here for 1.0
Thanks for all the help :)