Hi,
I discovered a behaviour while implementing a simple page to edit an entity bean which I
can not explain what happens is right or not.
I expect:
My stateful session bean has the following annotations:
@Stateful
| @Scope(ScopeType.EVENT)
and the following method to load the customer I like to edit in the page:
@Create
| public void loadCustomer() {
and the method to persist the changes:
public String persistChanges() {
So I expect, that I get an instance of the stateful session bean on which I call all three
methods. But in reality, the method loadCustomer will be called more than once because I
get another instance of the session bean (hash code) for loading the page and for saving
the page. In addition, the instance also differs for saving the entity bean; reading the
hash code of the bean instance in persistChanges(), the create annotated method gives me
another hash code than the final instance in persistChanges. As far as I know, this
behaviour is OK for J2EE because you do not care what instance you receive (instance
pooling).
But I expected, that the seam context annotation for event or conversation should give me
the same instance of the bean? It would be helpful for me if someone explain me about the
relationship of the seam context's and their relation to the stateful session bean
instances.
The business case works - the changed values will be persisted, but for me the create
annotated method should only be called once ...
Regards,
Cyrill
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4117373#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...