[jboss-svn-commits] JBL Code SVN: r8916 - labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 19 05:34:16 EST 2007


Author: mark.little at jboss.com
Date: 2007-01-19 05:34:16 -0500 (Fri, 19 Jan 2007)
New Revision: 8916

Modified:
   labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
Log:
removed support for non-XA db interpretation of RMERR.

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2007-01-19 10:33:57 UTC (rev 8915)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2007-01-19 10:34:16 UTC (rev 8916)
@@ -63,6 +63,7 @@
 import com.arjuna.ArjunaOTS.*;
 
 import javax.transaction.xa.*;
+
 import java.io.*;
 
 import org.omg.CosTransactions.NotPrepared;
@@ -281,9 +282,12 @@
 			 * XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
 			 * XAER_PROTO.
 			 */
-
+			
 			if (_rollbackOptimization) // won't have rollback called on it
 				removeConnection();
+			
+			if ((e1.errorCode == XAException.XAER_RMERR) || (e1.errorCode == XAException.XAER_RMFAIL))
+				throw new HeuristicHazard();
 
 			return Vote.VoteRollback;
 		}
@@ -403,9 +407,15 @@
 							updateState(TwoPhaseOutcome.HEURISTIC_MIXED);
 
 							throw new org.omg.CosTransactions.HeuristicMixed();
-						case XAException.XA_HEURRB:
+						case XAException.XA_HEURRB: // forget?
 						case XAException.XA_RBROLLBACK:
 						case XAException.XA_RBEND:
+						case XAException.XA_RBCOMMFAIL:
+						case XAException.XA_RBDEADLOCK:
+						case XAException.XA_RBINTEGRITY:
+						case XAException.XA_RBOTHER:
+						case XAException.XA_RBPROTO:
+						case XAException.XA_RBTIMEOUT:
 							destroyState();
 							break;
 						default:
@@ -517,18 +527,27 @@
 						 * XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
 						 * XAER_PROTO.
 						 */
-
+						
 						switch (e1.errorCode)
 						{
-						case XAException.XAER_RMERR:
+						
 						case XAException.XA_HEURHAZ:
 							updateState(TwoPhaseOutcome.HEURISTIC_HAZARD);
 
 							throw new org.omg.CosTransactions.HeuristicHazard();
-						case XAException.XA_HEURCOM:
+						case XAException.XA_HEURCOM:  // what about forget? OTS doesn't support this code here.
 							destroyState();
 							break;
 						case XAException.XA_HEURRB:
+						case XAException.XA_RBROLLBACK:
+						case XAException.XA_RBCOMMFAIL:
+						case XAException.XA_RBDEADLOCK:
+						case XAException.XA_RBINTEGRITY:
+						case XAException.XA_RBOTHER:
+						case XAException.XA_RBPROTO:
+						case XAException.XA_RBTIMEOUT:
+						case XAException.XA_RBTRANSIENT:
+						case XAException.XAER_RMERR:
 							updateState(TwoPhaseOutcome.HEURISTIC_ROLLBACK);
 
 							throw new org.omg.CosTransactions.HeuristicRollback();




More information about the jboss-svn-commits mailing list