hi folks, i have a very hard time understanding the way these ejbHome, ejbFind and ejbSelect methods in *pooled* state. It's stated that an instance of an entity bean is not associated with any particular client in this (*pooled*) state. however, these methods can be run in that state. my question is that who ( a client) these methods are working for? if an instance of any entity bean is not associated with any client, who these methods are associated with and working for? could you please eplain me this? thanks. [ December 29, 2003: Message edited by: Tulsi Rai ]
It's stated that an instance of an entity bean is not associated with any particular client in this (*pooled*) state.
Where did you read that ? Entity beans in the pool have no id : no EJBObject and no primary key. But when they run a method in the pooled state (ejbHome*()) (OK + ejbFind*() and ejbSelect*() called from home business methods, but it's not your business ), they *know* for which client they are working (ctx.getCallerPrincipal() and ctx.isCallerInRole() can be called). I just remembered in that lifecycle what's important to know from the bean provider's point of view :
(*) Other methods are ejbPostCreate*(), ejbLoad(), ejbStore() and business methods. Best, Phil.