[jboss-svn-commits] JBL Code SVN: r16793 - in labs/jbosstm/trunk: ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Nov 25 07:26:20 EST 2007
Author: mark.little at jboss.com
Date: 2007-11-25 07:26:20 -0500 (Sun, 25 Nov 2007)
New Revision: 16793
Modified:
labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
Log:
http://jira.jboss.com/jira/browse/JBTM-307
Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java 2007-11-25 11:50:13 UTC (rev 16792)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java 2007-11-25 12:26:20 UTC (rev 16793)
@@ -295,11 +295,25 @@
if (_rollbackOptimization) // won't have rollback called on it
removeConnection();
- if ((e1.errorCode == XAException.XAER_RMERR)
- || (e1.errorCode == XAException.XAER_RMFAIL))
- return TwoPhaseOutcome.HEURISTIC_HAZARD;
-
- return TwoPhaseOutcome.PREPARE_NOTOK;
+ switch (e1.errorCode)
+ {
+ case XAException.XAER_RMERR:
+ case XAException.XAER_RMFAIL:
+ 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:
+ case XAException.XAER_INVAL:
+ case XAException.XAER_PROTO:
+ case XAException.XAER_NOTA: // resource may have arbitrarily rolled back (shouldn't, but ...)
+ return TwoPhaseOutcome.PREPARE_NOTOK;
+ default:
+ return TwoPhaseOutcome.HEURISTIC_HAZARD; // we're not really sure (shouldn't get here though).
+ }
}
catch (Exception e2)
{
@@ -1009,6 +1023,8 @@
*/
return true;
+
+ //return false;
}
}
}
@@ -1143,6 +1159,8 @@
RecoveryManager recMan = RecoveryManager.manager();
Vector recoveryModules = recMan.getModules();
+ System.err.println("**recoveryModules "+recoveryModules);
+
if (recoveryModules != null)
{
Enumeration modules = recoveryModules.elements();
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-11-25 11:50:13 UTC (rev 16792)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java 2007-11-25 12:26:20 UTC (rev 16793)
@@ -286,10 +286,25 @@
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;
+ switch (e1.errorCode)
+ {
+ case XAException.XAER_RMERR:
+ case XAException.XAER_RMFAIL:
+ 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:
+ case XAException.XAER_INVAL:
+ case XAException.XAER_PROTO:
+ case XAException.XAER_NOTA: // resource may have arbitrarily rolled back (shouldn't, but ...)
+ return Vote.VoteRollback;
+ default:
+ throw new HeuristicHazard(); // we're not really sure (shouldn't get here though).
+ }
}
catch (Exception e2)
{
More information about the jboss-svn-commits
mailing list