tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Ament <my.repr...@gmail.com>
Subject Re: REQUIRES_NEW within a NEVER transaction throwing an exception, bug or misuse?
Date Tue, 17 Nov 2009 13:20:05 GMT
Based on how JTA's supposed to work, if a NEVER is calling a REQUIRES_NEW
EJB, then the REQUIRES_NEW runs in its own transaction context.  No
exception should be thrown.

In my opinion, from a design stand point, assuming that you mean method A
calls methods B and C, then A should be anything (preferably SUPPORTS), B
should be SUPPORTS (not never) and C should be REQUIRED, not REQUIRES_NEW.

As far as your comment about nested transactions, huh? EJB should be
supporting nested, unless it's a limitation in OpenEJB...

On Tue, Nov 17, 2009 at 4:03 AM, Jean-Louis MONTEIRO <
jean-louis.monteiro@atosorigin.com> wrote:

>
> Hi,
>
> IMO, A and B should be SUPPORTS and C REQUIRED.
> Can you provide a small example to reproduce the problem if any?
>
> Jean-Louis
>
>
>
> Ravindranath Akila wrote:
> >
> > I have an operation on which
> >
> > one is a dirty read, so the transaction scope is NEVER
> > and the other requires a transaction, hence REQUIRES_NEW.
> >
> > I need to call both these in the same bean so unless I mark this caller
> > method otherwise, it defaults.
> > Therefore I tried marking it NEVER, NOT_SUPPORTED and SUPPORTS but all
> > these
> > throw exceptions.
> >
> > Caller Method = A
> >
> > A => NEVER or NOT_SUPPORTED or SUPPORTS
> >
> > Called Methods = B and C
> >
> > B => NEVER, NOT_SUPPORTED (this is the dirty read)
> > C => REQUIRES_NEW
> >
> > A calls B, then C
> >
> > it seems that using ANY transaction scope, i.e. all enlisted in
> > transactionattribute class I cannot call both the two other methods, one
> > not
> > supporting or rejecting a transaction(B) and the other requiring a new
> > one(C).
> >
> > I agree that nested transactions are not supported in EJB, but if the
> > caller(A) is marked NEVER, NOT_SUPPORTED or SUPPORTS, and was called from
> > an
> > ordinary method(having no transaction scope), then it should not impose
> > any
> > transaction to methods IT calls. It if it does, it should sleep and let
> > them
> > handle it from there. I could not find anything on Google or the Sun
> > tutorial.
> >
> > Please help me with this.
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/REQUIRES_NEW-within-a-NEVER-transaction-throwing-an-exception%2C-bug-or--misuse--tp26367088p26386450.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message