Figure 3.5. Chicken or the egg—the stateless session bean lifecycle has three states: doesn't exist, idle, or busy. As
a result, there are only two lifecycle callbacks corresponding to bean creation and destruction
1 . Creates bean instances using the default constructor.
2 . Injects resources such as JPA providers and database connections.
3 . Put instances of the bean in a managed pool (if the container supports pooling).
4 . Pulls an idle bean out of the pool when an invocation request is received from the
client. At this point, the container may have to instantiate additional beans to handle
additional requests. If the container doesn't support pooling, bean instances are simply
created on demand.