9.1. Introductory note
This chapter is probably the most technically complex in the book, and the subject material the least likely to be familiar. This being the case, I think it is appropriate to begin with a rule-of-thumb that sums up most of what is to follow:
If in doubt, set all your EJBs to use container-managed transaction demarcation, and set all methods to have the transaction attribute Required.
Provided you follow the guidance about exception handling given in Section 15.2, this rule-of-thumb will give acceptable results in most situations. The problem is that it won’t give acceptable results in all cases, which is why we need a whole chapter.