isCallerInRole() method of EJBContext interface (inherited to MessageDrivenContext) cannot be called from message driven beans irrespective of transaction demarcation and getUserTransaction() can only be called from instances with bean managed transaction demarcation. (more info in
EJB spec., section 15.4.3, pg. 315).
Hence, the correct answers should be both a and b.
Swamy
In the morning there is hope; in the afternoon, fulfillment; in the evening, memory; at night, peace.