This figure shows the EJB 2.1 CMP entity bean life cycle. There are three states: does not exist, pooled, and ready. To transition from the does not exist state to the pooled state, the following occurs: the newInstance method is invoked and the setEntityContext method is invoked with the entity context as argument. While in the pooled state, ejbHome, ejbFind, and ejbSelect methods may be invoked. To transition from the pooled state to the ready state, the following occurs for a new instance: the ejbCreate method is invoked and the ejbPostCreate method is invoked. While in the ready state, the following methods may be invoked: ejbLoad, business methods, ejbTimeout, ejbSelect, and ejbStore. To transition from the ready state to the pooled state, the container selects the entity bean as eligible for passivation and then invokes the ejbPassivate method. To transition from the pooled state to the ready state, the following occurs for a previously passivated entity bean: the ejbActivate method is invoked. To transition from the ready state to the pooled, the following occurs for a removed entity bean: the ejbRemove method is invoked. To transition from the pooled state to the does not exist state, the unsetEntityContext method is invoked.