Well, I just read again ejb 3.2 spec,

At 10.6.1.1, of what I understand, context propagation must be.

???

Le 19 nov. 2017 9:00 PM, "David Jencks" <david.a.jen...@gmail.com> a écrit :

> I’m not sure I understand what Romain is saying so I will try to explain
> in my own words.
>
> There are 2 things people generally mean when they talk about XA or
> two-phase transaction support.
>
> 1. One server with more than one transactional resource, typically
> databases and messaging.  A transaction is started on this one server,
> “inside” the transaction various DBs and messaging are accessed, and the
> transaction is ended.  The server “propagates” the transaction to the DBs
> etc and uses 2-phase commit to ensure consistent results across resources.
> EJB servers have to support this (although they are not required to support
> automatic recovery from failure) and Tomee supports this.
>
> 2. More than one server, where a transaction is started on one server and
> a remote ejb call to another server requires propagating the transaction to
> that second server. Supporting this is optional, for good reason.  I have
> never encountered a situation with non-fossilized code where this is a
> remotely plausible architectural choice.  Put all the ejbs on the same
> server and run multiple copies of the same server.  Tomee does not support
> this.
>
> Hope this reduces rather than adds to confusion :-)
>
> David Jencks
>
>
> > On Nov 19, 2017, at 6:13 AM, Romain Manni-Bucau <rmannibu...@gmail.com>
> wrote:
> >
> > Le 19 nov. 2017 13:58, "Yann Blazart" <yann.blaz...@bycode.fr> a écrit :
> >
> > Wait Romain.
> >
> > You mean remote ejb TX do not work with tomee ???
> >
> >
> > Not really, i meant with most servers "by design". Propagation is not
> > supposed to be done through remote calls.
> >
> >
> > That is a big problem
> >
> > Le 19 nov. 2017 1:53 PM, "Thiago Rodrigues" <justoga...@gmail.com> a
> écrit :
> >
> >> Hi
> >> Thans for the quick response!
> >>
> >> If i remove the MANDATORY from EJB2 everything works fine, but EJB2
> > perform
> >> inserts (with XA Oracle Datasource), but if an exception are thrown in
> >> EJB1(after the EJB2 response) all the operations made in ejb1 are
> >> rolledback but the data inserted by ejb2 are commited (probably because
> >> there is no transaction propagation from ejb1 to ejb2 and a new
> > transaction
> >> are created). I made this work in other AS such wildlfy and wl... but i
> >> would really like to made this work in tomee.
> >>
> >> On Sun, Nov 19, 2017 at 10:33 AM, Romain Manni-Bucau <
> >> rmannibu...@gmail.com>
> >> wrote:
> >>
> >>> Hi
> >>>
> >>> Transactions are local until you use a XA system. EJB doesnt handle
> that
> >> in
> >>> tomee bit if the ejb2 call throws an exception and propagates it in
> ejb1
> >>> then a rollback will be done in both systems.
> >>>
> >>>
> >>> Le 19 nov. 2017 13:25, "Thiago Rodrigues" <justoga...@gmail.com> a
> >> écrit :
> >>>
> >>> Hi, I am testing remote server Transaction Context Propagation.
> >>>
> >>> My application is like that and Tomee server version is 1.7.1
> >>>
> >>>                               call
> >>> Server A (EJB 1) ========> Server B (EJB 2)
> >>>           |                      |
> >>>           |                      |
> >>>           |                      |
> >>>          DB 1                   DB 2
> >>>
> >>> EJB 1 is CMT and @TransactionAttribute(TransactionAttributeType
> >>> .REQUIRES_NEW)
> >>> EJB 2 is CMT and @TransactionAttribute(TransactionAttributeType.
> >> MANDATORY)
> >>>
> >>> I want to execute EJB 1 which works with DB1, then calls EJB 2 which
> >> works
> >>> with DB2
> >>> in a single global transaction.
> >>>
> >>> when EJB 1 calls EJB 2 in  remote server, It throws
> >>> TransactionRequiredLocalException Exception.
> >>> How to propagate transaction context to the remote server?
> >>>
> >>
> >>
> >>
> >> --
> >> Atenciosamente,
> >> Thiago Rodrigues
> >> thi...@dpaper.com.br
> >>
>
>

Reply via email to