[Mulgara-svn] r1348 - trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi
ronald at mulgara.org
ronald at mulgara.org
Thu Oct 23 13:11:42 UTC 2008
Author: ronald
Date: 2008-10-23 06:11:42 -0700 (Thu, 23 Oct 2008)
New Revision: 1348
Modified:
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/AbstractXAResource.java
trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DummyXAResource.java
Log:
Moved the isHeuristic() helper into DummyXAResource, added isRollback(), and
made them public and a bit more generic.
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/AbstractXAResource.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/AbstractXAResource.java 2008-10-23 13:11:35 UTC (rev 1347)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/AbstractXAResource.java 2008-10-23 13:11:42 UTC (rev 1348)
@@ -374,12 +374,7 @@
*/
protected abstract void doForget(T tx) throws Exception;
- private static boolean isHeuristic(XAException xae) {
- return (xae.errorCode == XAException.XA_HEURHAZ || xae.errorCode == XAException.XA_HEURCOM ||
- xae.errorCode == XAException.XA_HEURRB || xae.errorCode == XAException.XA_HEURMIX);
- }
-
/** The resource-manager info */
public static class RMInfo<T extends TxInfo> {
/** the list of active transactions */
Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DummyXAResource.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DummyXAResource.java 2008-10-23 13:11:35 UTC (rev 1347)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DummyXAResource.java 2008-10-23 13:11:42 UTC (rev 1348)
@@ -175,6 +175,39 @@
//
/**
+ * @param t the exception
+ * @return true if <var>t</var> is an XAException that represents a heuristic completion
+ */
+ public static boolean isHeuristic(Throwable t) {
+ return (t instanceof XAException) && isHeuristic(((XAException)t).errorCode);
+ }
+
+ /**
+ * @param errorCode the xa error code
+ * @return true if <var>errorCode</var> represents a heuristic completion
+ */
+ public static boolean isHeuristic(int errorCode) {
+ return (errorCode == XAException.XA_HEURHAZ || errorCode == XAException.XA_HEURCOM ||
+ errorCode == XAException.XA_HEURRB || errorCode == XAException.XA_HEURMIX);
+ }
+
+ /**
+ * @param t the exception
+ * @return true if <var>t</var> is an XAException that represents a rollback
+ */
+ public static boolean isRollback(Throwable t) {
+ return (t instanceof XAException) && isRollback(((XAException)t).errorCode);
+ }
+
+ /**
+ * @param errorCode the xa error code
+ * @return true if <var>errorCode</var> represents a rollback
+ */
+ public static boolean isRollback(int errorCode) {
+ return (errorCode >= XAException.XA_RBBASE && errorCode <= XAException.XA_RBEND);
+ }
+
+ /**
* Format an xid for printing.
*
* @param xid the xid to format
More information about the Mulgara-svn
mailing list