The reason is that each lookup() of an EJB 3.0 stateful session bean Remote or Local business interface results in the creation of a new bean identity. Each reference returned from
the lookup refers to a different stateful session bean. It's up to the caller to determine how it
wants to manage access to that reference. Typically a web application will store the reference
in an HttpSession or application-wide (ServletContext) scope for subsequent access.
[Message sent by forum member 'ksak' (ksak)]
http://forums.java.net/jive/thread.jspa?messageID=316296