[jboss-svn-commits] JBL Code SVN: r9089 - labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 29 17:17:28 EST 2007


Author: mark.little at jboss.com
Date: 2007-01-29 17:17:27 -0500 (Mon, 29 Jan 2007)
New Revision: 9089

Modified:
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
Log:
Added recovery support.

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java	2007-01-29 22:07:34 UTC (rev 9088)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java	2007-01-29 22:17:27 UTC (rev 9089)
@@ -210,9 +210,20 @@
 		switch (flag)
 		{
 		case XAResource.TMSTARTRSCAN: // check the object store
+			if (_recoveryStarted)
+				throw new XAException(XAException.XAER_PROTO);
+			else
+				_recoveryStarted = true;
 			break;
 		case XAResource.TMENDRSCAN: // null op for us
+			if (_recoveryStarted)
+				_recoveryStarted = false;
+			else
+				throw new XAException(XAException.XAER_PROTO);
 			return null;
+		case XAResource.TMNOFLAGS:
+			if (_recoveryStarted)
+				break;
 		default:
 			throw new XAException(XAException.XAER_PROTO);
 		}
@@ -271,6 +282,7 @@
 						com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple tx = (com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple) values.pop();
 						
 						indoubt[index] = tx.baseXid();
+						index++;
 					}
 				}
 			}
@@ -325,4 +337,7 @@
 			throw new XAException(XAException.XAER_RMERR);
 		}
 	}
+	
+	private boolean _recoveryStarted = false;
+	
 }




More information about the jboss-svn-commits mailing list