Can anyone enlighten me why the ManagedEntityIdentityInterceptor is only added to a Seam
component when the scope of the component is CONVERSATION? (->
org.jboss.seam.Component.initDefaultInterceptors() )
My understanding of the ManagedEntityIdentityInterceptor (which could be wrong) is that
it serves to ensure that Entities referenced by a stateful component such as a stateful
session bean (SFSB) maintain their object identity within the JVM even across passivations
and reactivations of this stateful component.
Let's assume that we have a stateful session bean (SFSB) referencing an Entity
instance, and the the scope of the SFSB is EVENT_Scope. Since the scope is EVENT Scope
and not CONVERSATION scope, no ManagedEntityIdentityInterceptor is added to this SFSB.
Let's imagine further a situation where this SFSB is called multiple times during the
life time of the EVENT scope. For example, the SFSB could serve as backing bean for
multiple JSF view components and be called multiple times during the render response JSF
phase.
This raises the question: Can it happen that the EJB container passivates and then
reactivates this SFSB between the different calls to this SFSB? (I'd assume yes, but
could be wrong).
If I'm not wrong with my "yes"-assumption, don't we need the
ManagedEntityIdentityInterceptor added to this event-scoped SFSB component to maintain the
object identity of any Entity instances referenced by the SFSB?
Thanks in advance for any answers.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084750#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...