Yes, I think so.
This may not be the problem.
Keep on thinking :-)
Regards.

----- Original Message -----
From: "Kaj Bjurman" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, January 31, 2001 2:05 PM
Subject: Re: Transactions and locking...


> Hi,
>
> Oracle is used as database (and it does support nested transactions?).
>
> /Kaj
>
>
> > -----Original Message-----
> > From: Carlos Otero Barros [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, January 31, 2001 1:38 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: Transactions and locking...
> >
> >
> > What is the database?
> > Does your database supports nested transactions?
> > Regards.
> >
> > ----- Original Message -----
> > From: "Kaj Bjurman" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, January 31, 2001 1:30 PM
> > Subject: Transactions and locking...
> >
> >
> > > Hi
> > >
> > > I've got a problem with transaction propagation and
> > pessimistic locking.
> > >
> > > The problem is as follows:
> > > A stateless session bean (SB1), with transaction attribute Required,
> > handles
> > > a call sequence.
> > > In that sequence it first calls anoter stateless session
> > bean (SB2) which
> > > has transaction attribute NotSupported.
> > > SB2 gathers some data and performs validation. The data is
> > gathered by
> > > calling en entity bean (EB1), which has
> > > transaction attribute Required. When the calling sequence
> > returns to SB1,
> > > and the data is validated, and it calls
> > > yet another stateless session bean (SB3), which has
> > transaction attribute
> > > RequiresNew.
> > > SB3 now performs some business logic, and then tries to
> > update the data
> > > using EB1 (on the same PK as above).
> > > This results in a timeout (might be deadlock).
> > >
> > > The reason of the control flow is that the client call to SB1 should
> > result
> > > in several independent transactions,
> > > each started, and ended in SB3 (which the client can't call).
> > >
> > > See call sequence below:
> > >
> > > ------
> > >
> > > Notation:
> > > Bean(Type, Transaction Attribute)
> > >
> > > Beans in problem:
> > >
> > > SB1(Stateless Session, Required)
> > > SB2(Stateless Session, NotSupported)
> > > SB3(Stateless Session, RequiresNew)
> > > EB1(Entity, Required)
> > >
> > > Call sequence:
> > >
> > > Seq     Caller  Operattion      Description:
> > >
> > > 1       Client  Calls SB1       Client calls business method
> > > 2       SB1     Calls SB2       SB1 Uses SB2 to gather data
> > for validation
> > > 3       SB2     Calls EB1       SB2 Uses EB1 to gather data
> > for validation
> > > 4       SB1     Calls SB3       SB1 Then calls SB3 to
> > perform the job
> > > 5       SB3     Calls EB1       SB3 Tries to use EB1 (Same
> > pk as above) ->
> > > TimeOut, Lock...
> > > 6       SB1     Returns to client
> > > ------
> > >
> > > Isn't this what should happen (concerning the transactions):
> > >
> > > (seq above)     Transactions
> > > 1               Transaction T1 starts
> > > 2               Transaction T1 suspends
> > > 3               Transaction T2 starts (EB1 gets involved in
> > a transaction)
> > >                 Transaction T2 ends
> > > 4               Transaction T1 resumes
> > > 5               Transaction T3 starts (And tries to use EB1)
> > >                 Transaction T3 ends
> > > 6               Transaction T1 ends.
> > >
> > > But it looks like transaction T2 doens't start, or that the
> > lock on EB1
> > > doesn't get released,
> > > and therefore EB1 that is used in T2, is still locked.
> > >
> > > Is the transaction sequence above correct, or have I
> > misunderstood the
> > > specification?
> > >
> > > We are using weblogic, and the documentation for weblogic says:
> > > <Clip from Weblogic Docs.>
> > > The EJB 1.1 container in WebLogic Server Version 5.1 uses a
> > pessimistic
> > > locking mechanism for entity EJB instances. As clients enlist an
> > > EJB or EJB method in a transaction, WebLogic Server places
> > an exclusive
> > > lock on the EJB instance or method for the duration of the
> > transaction.
> > > Other clients requesting the same EJB or method block until
> > the current
> > > transaction completes.
> > > <End clip>
> > >
> > > But shouldn't the lock on EB1 be released in seq 3
> > (according to the EJB
> > > specification)?
> > >
> > > Thanks for your help
> > > /Kaj
> > >
> > > ~~~~~~~~~ ~~~~ ~~~ ~~ ~ ~  ~   ~
> > > [EMAIL PROTECTED]
> > > +46 70 4200148
> > >
> > >
> > ==============================================================
> > =============
> > > 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".
>
>

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