As far as I understand it this is up to the JCA layer to enlist the
XAResource in the transaction.
The client calls UserTransaction.begin(), then the transaction manager
starts the Transaction
and it knows the resource participating in the distributed transaction
so it will enlist them.
Dominique Pfister wrote:
> David Nuescheler wrote:
>
>> i somehow must be confusing a relation between the XAResource.start()
>> and the javax.transaction.UserTransaction.begin() (or possibly the
>> javax.resource.spi.LocalTransaction.begin()), in which cases i would
>> have expected the user to begin the transaction at an arbitrary
>> timeframe.
>>
>> so, if i understand you correctly the .begin() would not call the
>> .start()?
>
>
> Of course, there is a relation between UserTransaction.begin and
> XAResource.start, no doubt about that.
>
> However, after having taken a closer look at some samples in the EJB
> specification (EJB 2.1, p. 366ff) illustrating bean-managed
> transaction demarcation, I should probably revise my opinion and
> invest some more time in the JCR's JTA support to make it work also
> with the scenarios you have described.
>
> Dominique
>
|