Right now, the container does not seem to be generating
transactions in all cases where it should. For example, if you create a
stateless session bean and set the transaction property to REQUIRED, when
the method is called, the TransactionManager still reports no current
transaction. I haven't tested enough to know whether this is a large
problem (transactions *never* generated), or a small problem (error
reading stateless configuration, or error when TxManager returns
transaction setting).
However, assuming that was working, the process for an
XAConnection should work like this:
- Bean requests Connection
- XAConnection is created or released from pool
- XAConnectionFactory registers XAResource (in prepareObject) with
the current Transaction
- Transaction calls start on the XAResource
- XAConnection is returned to XADataSource
- XADataSource extracts Connection from XAConnections and returns it
- Bean uses Connection
- Bean closes Connection
- Close notification sent to XAConnection
- XAConnection notifies listeners that it was closed
- XAConnectionFactory is a listener, and deregisters XAResource with
the current transaction
- Transaction calls end on the XAResource
- XAConnection is returned to pool (native JDBC2 driver) or held
until commit/rollback (JDBC 1 wrappers)
So in answer to your question, you do not call start or end
manually - instead, the Transaction calls start or end when you call
enlistResource or delistResource.
Aaron
On Mon, 5 Jun 2000, Jung , Christoph wrote:
> Hello,
>
> I�m not sure whether I missed something obvious, but I�m lacking some hook
> in the tx-Package
> such that additional XA-Resources can be successfully attached to ongoing
> transactions.
>
> Enlistement is quite easy through TxManager and TransactionImpl, but I could
> not find any single call to the start(Xid,boolean)
> method of the resource. The xid of the transaction can furthermore not be
> accessed from outside the tx-package such that I am not
> able to call start by myself.
>
> How is this resolved/should this be resolved in the case of XA-capable JDBC
> connections in Minerva?
>
> Best,
> CGJ
>
>