Coordinating XAResources with the WebLogic Server Transaction Manager 11-11
11.9 Changes in the Resource Registration Name
This release changes the behavior of the resource registration name for XA data source configurations. In previous releases, the JTA registration name was simply the name of
the data source. Now, the registration name is a combination of data source name and domain.
All resources registered with JTA now have a corresponding runtime MBean that exposes XA usage statistics for the resource. This altered qualified the JMX
ObjectName of the MBean, and may impact existing applications that perform a JMX
lookup of such a runtime MBean by name. In previous releases, a data source configuration with a name of mydatasource in domain mydomain would have a JTA
resource runtime MBean registered under the object name:
com.bea:ServerRuntime=myserver,Name=mydatasource,Type=Transactio nResourceRuntime,JTARuntime=JTARuntime
For this release, the new qualified object name is: com.bea:ServerRuntime=myserver,Name=mydatasource_
mydomain,Type=TransactionResourceRuntime,JTARuntime=JTARuntime The transaction branch qualifier is also derived from the JTA resource registration
name. Any pending transaction branches for XA data sources at the time of upgrade may not be recoverable after upgrade. Oracle recommends that no pending
transactions are left pending in database resources prior to upgrade. Otherwise, any pending database transactions may need to be resolved manually by a database
administrator. See
This release provides a new system property to disable the qualifying of the registration name:
-Dweblogic.jdbc.qualifyRMName=false
11.10 FAQs
■
Why does the XAResources Xid have a branch qualifier, but not the transaction managers transaction?
WebLogic Server JTA transaction objects do not have branch qualifiers for example,
TxHelper.getTransaction.getXid.getBranchQualifier would
be null. Since the branch qualifiers are specific to individual resource managers, the WebLogic Server transaction manager only sets the branch qualifiers in the
Xids that are passed into XAResource methods.
■
What is the TxHelper.getTransaction method used for? The WebLogic Server JTA provides the TxHelper.getTransaction API to
return the transaction associated with the current thread. However, note that WebLogic Server JTA suspends the transaction context before calling the
XAResource methods, so you should only rely on the Xid input parameter to identify the transaction, but not the transaction associated with the current thread.
11.11 Additional Documentation about JTA