Hi devs,

Now that work has started on JTA support inside Synapse and the
transports, I have a general question. The model used in JTA is to
bind the transaction to the current thread. With all the asynchronous
and non blocking features we have in Synapse this is obviously not the
most appropriate model. Instead, transactions should be bound to the
MessageContext (either Axis2's or Synapse's one, TBD). Of course JTA
transactions can be detached from one thread and resumed in another
thread (assuming that a reference to the underlying TransactionManager
is available). However that leaves us with two options:

1. Detach the transaction from the thread when it stops doing work
related to the MessageContext and resume the transaction when a thread
starts working on a MessageContext.
2. When the transaction is started, immediately detach it from the
thread and put it into the MessageContext. Whenever a mediator or
transport needs the transaction, resume it and detach it again
immediately afterwards.

Since these two approaches are incompatible which each other, what
will be the approach used in Synapse?

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to