All the posts and topics that contain only an error report will be moved here after the error is corrected. This is to ensure that when users view a question in ETS Viewer, the "Discuss" button will not indicate the presence of a discussion that adds no value to the question.
I think that explanation of the fourth option is not precise
EJBException is thrown for local clients when the bean method throws a system exception.
As per 14.3.1 table 15 in specification:
If bean method runs in transaction context of client and that method throws system exception javax.ejb.EJBTransactionRolledbackException is thrown to the client.
The spec says that javax.ejb.TransactionRolledbackLocalException is thrown for (table 17 in 14.3.2)
Handling of Exceptions Thrown by Methods of Web Service Client View or EJB 2.1 Client View of a Bean with Container-Managed Transaction Demarcation
when system exception occurs. So i believe this is EJB2 specific exception for local clients. Link to javadoc you've giben seems to confirm that (it's available since EJB2.0)
EJBException is thrown for local clients when the bean method throws a system exception.
I think with EJB 3 nowadays , EJBException is thrown for both local and remote client when the bean method throws a system exception unless the remote method throws RemoteException.
With EJB 1.0, EJBException was thrown for local client and RemoteException is thrown for remote client.