tyrex.tm.impl

Class XAResourceHelper

public class XAResourceHelper extends 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
StringgetXAErrorString(XAException xaException)
Return the specialised error message from the XAException.
XidgetXid(XAResource xaResource, Xid xid)
Create the xid for use with the XA resource from the specified xid.
booleantreatDifferentBranchesForSharedResourcesAsShared()
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.
booleanuseDifferentBranchesForSharedResources()
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}).

Constructor Detail

XAResourceHelper

public XAResourceHelper()
Default constructor

Method Detail

getXAErrorString

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

Parameters: xaException the XAException

Returns: an

getXid

public Xid getXid(XAResource xaResource, Xid xid)
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: XAException An error occured obtaining the xid

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 XAResourceHelper 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

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: XAResourceHelper

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.