I need some clarification regarding the answer for question 50 of the final exam. I would repeat the question to save you the time from looking into the book.
Q) To ensure bean portability, which transaction attributes should be used on the business methods in the component interface of an entity bean using CMP?
A. Not Supported B. Required C. Supports D. RequiresNew E. Mandatory F. Never
I answered (A, B and D) but the correct answer is (B,D and E).
May be I do not understand the actually meaning of portability they are talking about but I would have thought that making business method having mandatory trans attribute would not make it completely portable with anyone else's code that uses my bean as they are forced to call this method from a transactional context.
And why would having a "Not Supported" trans attribute make my bean non-portable. This mean all my getter's methods need to run under a transaction in order to make my bean portable ??
portable means your business methods should behave simalarly in all containers. When tran attr is "Not Supported", the business method will run in "unspecified context" which means that the behaviour is container dependent.