As EJB specification says activate and passivate methods are warning methods for EJB beans(for both session and entity beans)before actually persisting state.Incase of Entity beans we persist the data of entity bean by ejbStore() to relational database or object database etc before calling passivate() method on it. MY question is What do we mean by passivation of bean instance(Entity) by container when a step back ,ejbStore() saves or persisits the instance data already? Similarly when same instance has to be put in service, ejbLoad() is called before activate().What does we mean by activate(), when persisted data is alraedy loaded by ejbLoad()? thanks Vikas
posted 12 years ago
Hi Activation and passivation has nothing to do with the relational or object oriented database that you are using. These methods are called by the container in order to passivate the object when the pooled objects are finished. It passivates the object which is the oldest one used. The objects are activated when any request on that object is made and that object is not in the pooled resources. Activate and passivate are used only in Entity beans and in Stateful session beans. Stateless session beans do not have the concept of pooled objects/resources. Hope this answers your query.