Changes in the Resource Registration Name FAQs

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