[jboss-svn-commits] JBL Code SVN: r28965 - labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Aug 17 11:11:13 EDT 2009
Author: jhalliday
Date: 2009-08-17 11:11:13 -0400 (Mon, 17 Aug 2009)
New Revision: 28965
Modified:
labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java
Log:
Added test case for subordinate tx commit failure handling. JBTM-605
Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java 2009-08-17 15:02:27 UTC (rev 28964)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java 2009-08-17 15:11:13 UTC (rev 28965)
@@ -505,4 +505,29 @@
assertEquals(javax.transaction.Status.STATUS_ROLLEDBACK, t.getStatus());
}
+/*
+ @Test
+ public void testFailOnCommit() throws Exception
+ {
+ final Xid xid = new XidImple(new Uid());
+ final Transaction t = SubordinationManager.getTransactionImporter().importTransaction(xid);
+
+ final TestXAResource xaResource = new TestXAResource();
+ // provoke commit into failing with TwoPhaseOutcome.FINISH_ERROR
+ // warning: this is sensitive to the impl exception handling in
+ // XAResourceRecord.topLevelCommit
+ xaResource.setCommitException(new XAException(XAException.XA_RETRY));
+
+ t.enlistResource(xaResource);
+
+ final XATerminator xaTerminator = SubordinationManager.getXATerminator();
+
+ xaTerminator.prepare(xid);
+ xaTerminator.commit(xid, false);
+
+ //assertEquals(javax.transaction.Status.STATUS_ROLLEDBACK, t.getStatus());
+
+ assertTrue("commit should throw an exception and not get to here", false);
+ }
+*/
}
Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java 2009-08-17 15:02:27 UTC (rev 28964)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/TestXAResource.java 2009-08-17 15:11:13 UTC (rev 28965)
@@ -38,6 +38,7 @@
private Xid currentXid;
private int prepareReturnValue = XAResource.XA_OK;
+ private XAException commitException = null;
public int getPrepareReturnValue()
{
@@ -49,6 +50,16 @@
this.prepareReturnValue = prepareReturnValue;
}
+ public XAException getCommitException()
+ {
+ return commitException;
+ }
+
+ public void setCommitException(XAException commitException)
+ {
+ this.commitException = commitException;
+ }
+
public void commit(Xid xid, boolean b) throws XAException
{
System.out.println("XAResourceImpl.commit(Xid="+xid+", b="+b+")");
@@ -56,6 +67,10 @@
System.out.println("XAResourceImpl.commit - wrong Xid!");
}
+ if(commitException != null) {
+ throw commitException;
+ }
+
currentXid = null;
}
More information about the jboss-svn-commits
mailing list