[jboss-svn-commits] JBL Code SVN: r37847 - in labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS: jts/classes/com/arjuna/ats/internal/jts/context and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 17 10:21:09 EST 2012
Author: tomjenkinson
Date: 2012-01-17 10:21:07 -0500 (Tue, 17 Jan 2012)
New Revision: 37847
Modified:
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java
labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java
Log:
JBTM-1022
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -34,6 +34,7 @@
import com.arjuna.ats.internal.jta.utils.jtaxLogger;
import com.arjuna.ats.jta.common.jtaPropertyManager;
+import org.omg.CORBA.TRANSACTION_UNAVAILABLE;
import org.omg.CosTransactions.*;
import com.arjuna.ats.jts.OTSManager;
@@ -191,7 +192,15 @@
jtaxLogger.logger.trace("BaseTransaction.getStatus");
}
- TransactionImple theTransaction = TransactionImple.getTransaction();
+ TransactionImple theTransaction = null;
+
+ try {
+ theTransaction = TransactionImple.getTransaction();
+ } catch (TRANSACTION_UNAVAILABLE e) {
+ if (e.minor == 1) {
+ return javax.transaction.Status.STATUS_NO_TRANSACTION;
+ }
+ }
try
{
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -708,6 +708,11 @@
return new ControlWrapper(theFactory.recreate(theContext));
}
}
+ catch (TRANSACTION_UNAVAILABLE ex)
+ {
+ // Already logged this
+ throw ex;
+ }
catch (SystemException ex)
{
jtsLogger.i18NLogger.warn_context_genfail("ContextManager.createHierarchy", ex);
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -48,6 +48,7 @@
import com.arjuna.ArjunaOTS.*;
import org.omg.CORBA.SystemException;
+import org.omg.CORBA.TRANSACTION_UNAVAILABLE;
import org.omg.CORBA.UNKNOWN;
import org.omg.CORBA.TRANSACTION_ROLLEDBACK;
@@ -187,7 +188,11 @@
{
}
- throw new TRANSACTION_ROLLEDBACK();
+ if (((ServerTopLevelAction)action).isTransactionInactive()) {
+ throw new TRANSACTION_UNAVAILABLE(jtsLogger.i18NLogger.get_transaction_was_inactive(), 1, CompletionStatus.COMPLETED_NO);
+ } else {
+ throw new TRANSACTION_ROLLEDBACK();
+ }
}
ServerTopLevelAction newElement = (ServerTopLevelAction)action;
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -118,7 +118,6 @@
Coordinator realCoordinator = _theControl.originalCoordinator();
if (!(_valid = registerResource(realCoordinator))) {
- jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_ipfailed("ServerTopLevelAction");
/*
* Failed to register. Valid is set, and the interposition
@@ -610,8 +609,10 @@
result = true;
}
- else
+ else {
result = false;
+ jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_ipfailed("ServerTopLevelAction");
+ }
}
else
result = true;
@@ -620,7 +621,9 @@
jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", classCastException);
}
catch (Inactive ine) {
- jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ine);
+ jtsLogger.i18NLogger.warn_server_top_level_action_inactive();
+ jtsLogger.i18NLogger.debug_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ine);
+ transactionInactive = true;
}
catch (TRANSACTION_ROLLEDBACK ex1) {
jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ex1);
@@ -639,7 +642,12 @@
return result;
}
+public boolean isTransactionInactive() {
+ return transactionInactive;
+}
+
protected org.omg.CosTransactions.ResourcePOATie _theResource;
protected Resource _resourceRef;
+private boolean transactionInactive;
}
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -89,7 +89,7 @@
Coordinator realCoordinator = _theControl.originalCoordinator();
if (!(_valid = registerResource(realCoordinator))) {
- jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_strict_iptlfailed("ServerStrictNestedAction");
+// jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_strict_iptlfailed("ServerStrictNestedAction");
/*
* Failed to register. Valid is set, and the interposition
Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java 2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java 2012-01-17 15:21:07 UTC (rev 37847)
@@ -1044,9 +1044,20 @@
@LogMessage(level = WARN)
public void warn_orbspecific_coordinator_ipunknown(String arg0, String arg1);
+ @Message(id = 22258, value = "Transaction was inactive", format = MESSAGE_FORMAT)
+ public String get_transaction_was_inactive();
+
@Message(id = 22259, value = "ExtendedResourceRecord detected that the remote side had cleaned up, assuming 1PC resource", format = MESSAGE_FORMAT)
@LogMessage(level = WARN)
public void warn_1pc_commit_one();
+
+ @Message(id = 22260, value = "{0} caught exception", format = MESSAGE_FORMAT)
+ @LogMessage(level = DEBUG)
+ public void debug_orbspecific_interposition_resources_arjuna_generror(String arg0, @Cause() Throwable arg1);
+
+ @Message(id = 22261, value = "ServerTopLevelAction detected that the transaction was inactive", format = MESSAGE_FORMAT)
+ @LogMessage(level = WARN)
+ public void warn_server_top_level_action_inactive();
/*
Allocate new messages directly above this notice.
More information about the jboss-svn-commits
mailing list