Summary
In this chapter, we covered how to implement business logic via stateless and stateful session beans. Additionally, we covered how to implement message-driven beans to consume JMS messages.
We also explained how to take advantage of the transactional nature of EJBs to simplify implementing the DAO pattern.
Additionally, we explained the concept of container-managed transactions, and how to control them by using the appropriate annotations. We also explained how to implement bean-managed transactions, for cases in which container-managed transactions are not enough to satisfy our requirements.
Life cycles for the different types of Enterprise JavaBean were covered, including an explanation on how to have EJB methods automatically invoked by the EJB container at certain points in the life cycle.
We also covered how to have EJB methods invoked periodically by the EJB container by taking advantage of the EJB timer service.
Finally, we looked at how to make sure EJB methods are only invoked...