[jboss-svn-commits] JBL Code SVN: r35004 - labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Sep 4 14:44:54 EDT 2010
Author: mark.little at jboss.com
Date: 2010-09-04 14:44:53 -0400 (Sat, 04 Sep 2010)
New Revision: 35004
Modified:
labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java
Log:
https://jira.jboss.org/browse/JBTM-774
Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java 2010-09-04 18:19:51 UTC (rev 35003)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/coordinator/ArjunaTransactionImple.java 2010-09-04 18:44:53 UTC (rev 35004)
@@ -1237,33 +1237,38 @@
public PropagationContext get_txcontext () throws Unavailable,
SystemException
{
- if (jtsLogger.logger.isTraceEnabled()) {
- jtsLogger.logger.trace("ArjunaTransactionImple::get_txcontext - called for "
- + get_uid());
- }
+ if (jtsLogger.logger.isTraceEnabled()) {
+ jtsLogger.logger.trace("ArjunaTransactionImple::get_txcontext - called for "
+ + get_uid());
+ }
- /*
- * Throw an exception if we are not active.
- */
+ /*
+ * Throw an exception if we are not active.
+ */
- currentStatus = determineStatus(this);
+ currentStatus = determineStatus(this);
- if ((currentStatus != Status.StatusActive)
- && (currentStatus != Status.StatusMarkedRollback))
- {
- throw new Unavailable();
- }
- else
- {
- try
- {
- return propagationContext();
- }
- catch (Exception e)
- {
- throw new Unavailable();
- }
- }
+ if ((currentStatus != Status.StatusActive)
+ && (currentStatus != Status.StatusMarkedRollback))
+ {
+ /*
+ * If XA compliant then return context even if we're inactive. Otherwise
+ * throw Unavailable for consistency with other OTS implementations.
+ */
+
+ if (!XA_COMPLIANT)
+ throw new Unavailable();
+ }
+
+ try
+ {
+ return propagationContext();
+ }
+ catch (Exception e)
+ {
+ throw new UNKNOWN(e.toString(), ExceptionCodes.UNKNOWN_EXCEPTION,
+ CompletionStatus.COMPLETED_NO);
+ }
}
/*
@@ -2230,6 +2235,8 @@
static boolean _propagateTerminator = false;
static boolean _propagateRemainingTimeout = true; // OTS 1.2 onwards supported this.
+
+ private static final boolean XA_COMPLIANT = true; // if we ever want to disable this then add an mbean option.
static
{
More information about the jboss-svn-commits
mailing list