-
Bug
-
Resolution: Done
-
Critical
-
JBossAS-5.0.0.Beta3
-
None
The TxConnectionManager is always configured to be track-connection-by-tx by default.
The old xslt used to do some complicated logic to try to determine the value
XA with track-connection-by-tx
<xsl:choose>
<xsl:when test="(xa-transaction) and (track-connection-by-tx)">
<attribute name="TrackConnectionByTx">true</attribute>
<attribute name="LocalTransactions">false</attribute>
</xsl:when>
XA with interleaving
<xsl:when test="(xa-transaction)">
<attribute name="TrackConnectionByTx">false</attribute>
<attribute name="LocalTransactions">false</attribute>
</xsl:when>
Non XA MUST BE track-connection-by-tx
<xsl:otherwise>
<attribute name="TrackConnectionByTx">true</attribute>
<attribute name="LocalTransactions">true</attribute>
</xsl:otherwise>
</xsl:choose>
The last part is not being done by the new connection factory deployer/metadata.
In fact, to simplify it (and answer some FAQs), I suggested that <track-connection-by-tx/> should be "dropped" and set to true all the time (with a warning about deprecation when somebody tries to use it).
Instead users of XA should explicity enable <interleaving/>