Hi Tinou ,

     Yes you are right a third party will open a transaction and that will
be propogated to the session bean. The third party will not be a EJB so I
am not sure how the transaction context will be passed to the EJB. If you
could help a little bit in this than it will be greatful.

Thanks in advance.
Ankur



                    Tinou Bao
                    <tinoubao@HOTMAIL        To:     [EMAIL PROTECTED]
                    .COM>                    cc:
                    Sent by: A               Subject:     Re: EJB Transaction Problem
                    mailing list for
                    Enterprise
                    JavaBeans
                    development
                    <EJB-INTEREST@JAV
                    A.SUN.COM>


                    06/15/01 07:41 PM
                    Please respond to
                    Tinou Bao





Hi,

First thing, you mentioned two databases...you'll need two phase commit.
Second, I don't think you need to make your session bean stateless.
Third, what are your transaction boundaries...when you say the third party
opens a transaction do you mean you explicitly start a new transaction and
that transaction is propagated to the session bean?

--
Tinou Bao
www.tinou.com

----- Original Message -----
From: "Ankur Jain" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 15, 2001 9:03 AM
Subject: [EJB-INT] EJB Transaction Problem


> Hi All,
>
> In our  project  we are using stateless session Beans, we have a
> requirement that a third party would be calling our EJB (deployed in our
> iPlanet app server)to do certain transactions. The sequence of the events
> are as follows
>
>    The third Party opens a Transaction at their end
>    They do a database transaction (in their Database )at their end
>    They make a call to our EJB method
>    Again they make a call to another EJB method in our system
>    They do another Database transaction (in their database) at their end
>    If the above operations are successful then the transaction should be
>    committed on both the database
>    Otherwise it has to Rollback in both the databases.
>
> Since rollback mechanism is not supported by the  Stateless Bean at the
> transaction level we have changed  the EJB  to Stateful Bean.
> The EJB 1.1 specs states that the TRANSACTION  context can be passed from
> the caller and can be further propagated to all EJB's within the same
> transaction and  this is possible in the case of Container Managed
> Transactions by simply setting an attribute in the Deployment Descriptor.
> But we are using our connection pooling hence how do we manage the
> transaction that has to span across multiple EJB's
>
> eg.
>      ejb1.open() connection.setAutoCommit(false)
>      ejb2.open() connection.setAutoCommit(false)
>      ejb1.methodA();
>       ejb2.methodB();
>       ejb1.commit();
>       ejb2.commit(); ====> what if it fails here during a commit ? we
need
> to rollback both but how?
>
> Any suggestion or help in this regard will be highly helpful
>
> Thanks in advance.
> Ankur S Jain
>
>
===========================================================================
> 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".

===========================================================================
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