tyrex.tm.impl
Class XAResourceHelper

java.lang.Object
  extended bytyrex.tm.impl.XAResourceHelper
Direct Known Subclasses:
CloudscapeXAResourceHelper, InformixXAResourceHelper, OracleXAResourceHelper

public class XAResourceHelper
extends java.lang.Object

This class describes various methods to help the transaction manipulate XA resources from database vendors that don't comply fully with the XA specification.

Author:
Riad Mohammed

Constructor Summary
XAResourceHelper()
          Default constructor
 
Method Summary
 java.lang.String getXAErrorString(javax.transaction.xa.XAException xaException)
          Return the specialised error message from the XAException.
 javax.transaction.xa.Xid getXid(javax.transaction.xa.XAResource xaResource, javax.transaction.xa.Xid xid)
          Create the xid for use with the XA resource from the specified xid.
 boolean treatDifferentBranchesForSharedResourcesAsShared()
          Return true if shared xa resources can be treated as shared even if they use different branches so that these xa resources are not prepared/committed separately even if they don't have the same xid.
 boolean useDifferentBranchesForSharedResources()
          Return true if shared xa resources must use different branches when enlisted in the transaction.The resource may still be treated as shared in that prepare/commit is only called once on a single xa resource (@see #treatDifferentBranchesForSharedResourcesAsShared}).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XAResourceHelper

public XAResourceHelper()
Default constructor

Method Detail

getXid

public javax.transaction.xa.Xid getXid(javax.transaction.xa.XAResource xaResource,
                                       javax.transaction.xa.Xid xid)
                                throws javax.transaction.xa.XAException
Create the xid for use with the XA resource from the specified xid.

The default implementation is to return the xid.

Parameters:
xaResource - The XAResource
xid - The xid
Throws:
javax.transaction.xa.XAException - An error occured obtaining the xid

useDifferentBranchesForSharedResources

public boolean useDifferentBranchesForSharedResources()
Return true if shared xa resources must use different branches when enlisted in the transaction.The resource may still be treated as shared in that prepare/commit is only called once on a single xa resource (@see #treatDifferentBranchesForSharedResourcesAsShared}). The default implementation returns false.

Returns:
true if shared xa resources must use different branches when enlisted in the transaction.
See Also:
treatDifferentBranchesForSharedResourcesAsShared()

treatDifferentBranchesForSharedResourcesAsShared

public boolean treatDifferentBranchesForSharedResourcesAsShared()
Return true if shared xa resources can be treated as shared even if they use different branches so that these xa resources are not prepared/committed separately even if they don't have the same xid. This method is only used if useDifferentBranchesForSharedResources() returns true. The default implementation returns false.

Returns:
true if shared xa resources can be treated as shared even if they use different branches so that these xa resources are not prepared separately even if they don't have the same xid.
See Also:
useDifferentBranchesForSharedResources

getXAErrorString

public java.lang.String getXAErrorString(javax.transaction.xa.XAException xaException)
Return the specialised error message from the XAException. The default implementation returns the empty string.

Parameters:
xaException - the XAException
Returns:
an


Original code is Copyright (c) 1999-2001, Intalio, Inc. All Rights Reserved. Contributions by MetaBoss team are Copyright (c) 2003-2005, Softaris Pty. Ltd. All Rights Reserved.