Hi,
I just would like to point out that concerning handling system exceptions, HFE p.546 is perhaps not enough precise.
It is said that in this case, the transaction is generally rolled back.
But of course, it depends on the existence of a transaction context.
By example, for message driven bean's method running in NOT SUPPORTED transaction attribute, if a system exception is thrown, no transaction rollback happens and only exception logging + discarding instance do happen.
It would have been great to detail more the scenario dealing with the different transaction contexts.
By example, with MANDATORY transaction attribute for a session or entity bean, in case of system exception, a TransactionRolledbackException (Remote) or TransactionRolledbackLocalException(Local) should be thrown by the container whereas in case of REQUIRESNEW, only RemoteException(Remote) or EJBException (Local) will be sent...
All this is detailed p.375-p.378 of the
EJB 2.0 spec.
It doesn't change anything to the fact that HFE is really a excellent book;-)
REgards,
Cyril.
[ April 11, 2004: Message edited by: cyril vidal ]