I don't want to start a new transaction for method3 on S3, because I want all these 
methods(m2 on S2 and m3 on S3) in the same transaction, so I can't use a
"requires new" attribute for transaction on m3.
Also, method m3 is successfully executed in m2 confirmed with the log.
only when m1 calls m3 the  transaction is rolled back.

regarding concurrency here, as the method m2(from S2) calling m3 is successfully 
executed, I am confused how it can happen.

TIA
Sujeevan

S1{
 2.  Method1(){
 3.    calls Method2 on S2
 4.    calls Method3 on S3
 5.  }
 6.}

 S2{
   Method2(){
     calls Method3 on S3
   }
 }
 S3{
   Method3(){
     update data in the database
  }
 }

Abhishek wrote:

> Hi !
>  Try putting "requires new" as the the trans-attribute for the method3.
>  There might be a problem of concurrency of same txn context being used   twice(that 
>is assuming the rest of ur code is bug free and there is no database prob).
> If that doesn't work, comment out the call for s3-m3 and see if s2-m2 is working 
>fine. If it does then it is definitely a txn context prob.
>
> rgds
> Abhishek
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff EJB-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to