[Jboss-cvs] JBossAS SVN: r57095 - trunk/connector/src/main/org/jboss/resource/connectionmanager/xa
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Sep 22 22:30:40 EDT 2006
Author: weston.price at jboss.com
Date: 2006-09-22 22:30:39 -0400 (Fri, 22 Sep 2006)
New Revision: 57095
Modified:
trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java
Log:
[JBAS-3183] [JBAS-1405] [JBAS-397] Continued work on XAResourceWrapper and JcaXid. Moving
previous handling of Xid padding and isSameRM from XidFactory and
BaseWrapperManagedConnectionFactory respectively.
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java 2006-09-23 02:27:18 UTC (rev 57094)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java 2006-09-23 02:30:39 UTC (rev 57095)
@@ -4,6 +4,8 @@
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;
+import org.jboss.logging.Logger;
+
/**
* A XAResourceWrapper.
*
@@ -12,15 +14,18 @@
*/
public class XAResourceWrapper implements XAResource
{
+ private static final Logger log = Logger.getLogger(XAResourceWrapper.class);
+
+ /** The xaResource */
+ private XAResource xaResource;
- private XAResource resource;
-
private boolean pad;
- private boolean override;
+ private boolean doRMOverride;
- private boolean rmOverride;
-
+ private boolean rmOverrideValue;
+
+
public XAResourceWrapper(XAResource resource)
{
this(false, false, resource);
@@ -34,47 +39,63 @@
public XAResourceWrapper(boolean override, boolean pad, XAResource resource)
{
- this.override = override;
+ this.doRMOverride = override;
this.pad = pad;
- this.resource = resource;
+ this.xaResource = resource;
}
public void commit(Xid xid, boolean onePhase) throws XAException
{
xid = convertXid(xid);
- resource.commit(xid, onePhase);
+ xaResource.commit(xid, onePhase);
}
public void end(Xid xid, int flags) throws XAException
{
xid = convertXid(xid);
- resource.end(xid, flags);
+ xaResource.end(xid, flags);
}
public void forget(Xid xid) throws XAException
{
xid = convertXid(xid);
- resource.forget(xid);
+ xaResource.forget(xid);
}
public int getTransactionTimeout() throws XAException
{
- return resource.getTransactionTimeout();
+ return xaResource.getTransactionTimeout();
}
public boolean isSameRM(XAResource resource) throws XAException
{
- if (override)
+
+ if (doRMOverride)
{
- return rmOverride;
+ if(log.isTraceEnabled())
+ {
+ log.trace("Executing isSameRM with override value" + rmOverrideValue + " for XAResourceWrapper" + this);
+
+ }
+
+ return rmOverrideValue;
}
else
{
- return resource.isSameRM(resource);
-
+ if(resource instanceof XAResourceWrapper)
+ {
+ XAResourceWrapper other = (XAResourceWrapper)resource;
+ return xaResource.isSameRM(other.getResource());
+
+ }else
+ {
+ return xaResource.isSameRM(resource);
+
+ }
+
}
}
@@ -82,33 +103,36 @@
public int prepare(Xid xid) throws XAException
{
xid = convertXid(xid);
- return resource.prepare(xid);
+ return xaResource.prepare(xid);
}
public Xid[] recover(int flag) throws XAException
{
- return resource.recover(flag);
+ return xaResource.recover(flag);
}
public void rollback(Xid xid) throws XAException
{
- resource.rollback(xid);
+ xid = convertXid(xid);
+ xaResource.rollback(xid);
}
public boolean setTransactionTimeout(int flag) throws XAException
{
- return resource.setTransactionTimeout(flag);
+ return xaResource.setTransactionTimeout(flag);
}
public void start(Xid xid, int flags) throws XAException
{
- resource.start(xid, flags);
+ xid = convertXid(xid);
+ xaResource.start(xid, flags);
}
private Xid convertXid(Xid xid)
{
+
if (xid instanceof JcaXid)
return xid;
@@ -116,4 +140,11 @@
return new JcaXid(pad, xid);
}
+
+ private XAResource getResource()
+ {
+ return xaResource;
+ }
+
+
}
More information about the jboss-cvs-commits
mailing list