Here is the question:
Given the following method code in Bean2 -
public void do2(int x){
if(x == 0) throw new EJBException("not acceptable");
}
This method is called from method do1() of Bean1. Assuming that both the beans are stateless session beans and have transaction attribute of REQUIRED, which of the following statements are correct?
Answers which are correct according to question bank are:
Bean1 will receive EJBTransactionRolledbackException and Bean2 instance will be discarded.
The transaction will be rollbacked.
I'm wondering why this answer is not correct:
Bean1 will receive EJBException and Bean2 instance will be discarded.
If the code explicitly declares that it throws EJBException why the above mentioned answer is not correct? Does EJBTransactionRolledBackException somehow wrap the EJBException.
Thanks in advance for clarifying it for me

Regards,
Piotrek