File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes doubt in ejb transaction Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "doubt in ejb transaction" Watch "doubt in ejb transaction" New topic

doubt in ejb transaction

Shanmugam Karthikeyan
Ranch Hand

Joined: Aug 02, 2002
Posts: 58
Hi Everyone,

In my previous post i forgot to post the method flow for this question.I got the answer for the my second question in my previous post from the spec.

1. Select all combinations of transaction attributes that would make this scenario possible (without exceptions being thrown).

Method A (transaction A)
+- Method B (no transaction)
| |
| + Method C (transaction B)
+- Method D (transaction A)
+- Method E (transaction C)
+ Method F (no transaction)

A. B-Supports, C-Required, D-Supports, E-Required, F-NotSupported
B. B-NotSupported, C-Required, D-Mandatory, E-RequiresNew, F-NotSupported
C. B-NotSupported, C-RequiresNew, D-Required, E-RequiresNew, F-Never
D. B-Never, C-Required, D-Required, E-Mandatory, F-Never
E. B-NotSupported, C-RequiresNew, D-Supports, E-RequiresNew, F-NotSupported
F. B-NotSupported, C-Mandatory, D-Supports, E-RequiresNew, F-NotSupported

ans : b,e

My doubt in this question is that how come option B is right.

Below is my justification for option B not to be a right choice.

Here is this case since method B has trans attribute as 'not supported',it will suspend the
transaction(A) comming from the Method A and executes the method B without a transaction.
After method B completes, it will resume the suspened transaction(A) and calls method C with that transaction.
Here since method C has the trans attribute as required, it will continue to make use of the resumed transaction(A)
rather than starting a new transaction(B).But the requirement is that method C should start a new transaction B.

Pls correct me if iam wrong.

SCJP 1.4<br />SCWCD 1.4<br />SCBCD 1.3
p anish
Ranch Hand

Joined: Feb 26, 2005
Posts: 32
your assumption is correct.B is a wrong choice.
C-Required is not possible, it should be RequiresNew.
Shanmugam Karthikeyan
Ranch Hand

Joined: Aug 02, 2002
Posts: 58
Thanks for your reply.I think the answer given was correct.

Pls read the following para which i got from spec for notSupported.

If a client calls with a transaction context, the container suspends the association of the transaction context
with the current thread before invoking the enterprise bean�s business method. The container
resumes the suspended association when the business method has completed. The suspended transaction
context of the client is not passed to the resource managers or other enterprise Bean objects that are
invoked from the business method
If the business method invokes other enterprise beans, the Container passes no transaction context with
the invocation


Ugender Rekulampally
Ranch Hand

Joined: Nov 14, 2005
Posts: 135
B and E right. See options B, the answer saying method-C is required. this starts a new transaction since method C is coming from Method B which is no transaction and 'required' guarantees creating transaction B.

so answers are: B, E
I agree. Here's the link:
subject: doubt in ejb transaction
jQuery in Action, 3rd edition