This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes Mock Exam Question : doubt Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "Mock Exam Question : doubt" Watch "Mock Exam Question : doubt" New topic
Author

Mock Exam Question : doubt

Rutvij Shah
Greenhorn

Joined: Jun 11, 2005
Posts: 11
Hi folks,

I am having one doubt regarding the following question which is from ejbcertificate.com

Which one of the following statements regarding the client view of exceptions received from an enterprise bean invocation is correct? Exceptions


1. The client can safely continue the transaction by retrying the operation if an application exception is received.
2. The client can safely continue the transaction by retrying the operation if an application exception is received, but only after checking the transaction has not been marked for rollback.
3. The client can safely continue the transaction by retrying the operation if a non-application exception is received.
4. A local client cannot continue a transaction if javax.transaction.TransactionRolledbackLocalException is received.
5. A remote client cannot continue a transaction if javax.transaction.TransactionRolledbackException is received.


Correct answer is 5 .I dont understand why only 5 why not 4 also. ??
The explaination provided by ejbcertificate is below but dont get the point.


Answer 5 is correct. javax.transaction.TransactionRolledbackException indicates to a remote client that the transaction has definitely been marked for rollback. Therefore it is pointless for the client to continue with the transaction, as the transaction cannot be committed.

Answers 1 and 2 are incorrect. It is potentially dangerous retrying to continue with a transaction after receiving an application exception because it is not always possible to determine the state of the enterprise bean. For example, if the container started a transaction just before invoking an enterprise bean with container-managed transaction and the enterprise bean throws an application exception and does not mark the transaction for rollback, the container commits the transaction before re-throwing the application exception to the client. In this scenario, it is not possible for the client to continue with the transaction on receiving the application exception.

Answer 3 is incorrect. The container will discard the bean instance if a non-application exception is thrown. Answer 4 is incorrect. javax.transaction.TransactionRolledbackException indicates to a local client that the transaction has definitely been marked for rollback. This exception is a subclass of javax.ejb.EJBException.
 
 
subject: Mock Exam Question : doubt
 
Similar Threads
a mock question about transcation
TrasactionRolledbackException
Another Exception question
Qn about exceptions from ejbcertificate
SCBCD certification / why this answer?