[jboss-svn-commits] JBL Code SVN: r31931 - in labs/jbosstm/trunk: ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 4 07:05:33 EST 2010


Author: mark.little at jboss.com
Date: 2010-03-04 07:05:31 -0500 (Thu, 04 Mar 2010)
New Revision: 31931

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/ActivationRecord.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/StateManagerFriend.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/resources/ExtendedObject.java
   labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
Log:
https://jira.jboss.org/jira/browse/JBTM-715

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java	2010-03-04 09:55:42 UTC (rev 31930)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java	2010-03-04 12:05:31 UTC (rev 31931)
@@ -296,7 +296,7 @@
              * later by the creation of a new ActivationRecord.)
              */
 
-            synchronized (usingActions)
+            synchronized (mutex)
             {
                 if (usingActions.get(action.get_uid()) == null)
                 {
@@ -406,7 +406,7 @@
 
                     if (forceAR)
                     {
-                        synchronized (usingActions)
+                        synchronized (mutex)
                         {
                             usingActions.remove(action.get_uid());
                         }
@@ -1124,7 +1124,7 @@
 
         BasicAction action = null;
 
-        synchronized (usingActions)
+        synchronized (mutex)
         {
             if (usingActions.size() > 0)
             {
@@ -1435,7 +1435,7 @@
 
         if (recordType != RecordType.RECOVERY)
         {
-            synchronized (usingActions)
+            synchronized (mutex)
             {
                 if (usingActions != null)
                 {
@@ -1470,7 +1470,7 @@
      */
 
     protected final synchronized boolean rememberAction (BasicAction action,
-            int recordType)
+            int recordType, int state)
     {
         if (tsLogger.arjLogger.isDebugEnabled())
         {
@@ -1488,13 +1488,16 @@
         {
             if ((action != null) && (action.status() == ActionStatus.RUNNING))
             {
-                synchronized (usingActions)
+                synchronized (mutex)
                 {
                     if (usingActions.get(action.get_uid()) == null)
                         usingActions.put(action.get_uid(), action);
                 }
             }
             
+            if ((currentStatus == ObjectStatus.PASSIVE) || (currentStatus == ObjectStatus.PASSIVE_NEW))
+                currentStatus = state;
+            
             result = true;
         }
 

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/ActivationRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/ActivationRecord.java	2010-03-04 09:55:42 UTC (rev 31930)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/ActivationRecord.java	2010-03-04 12:05:31 UTC (rev 31931)
@@ -143,11 +143,13 @@
 
         if ((objectAddr != null) && (actionHandle != null))
         {
+            int state = objectAddr.status();
+            
             if (StateManagerFriend.forgetAction(objectAddr, actionHandle, true, RecordType.ACTIVATION))
             {              
                 actionHandle = actionHandle.parent();
                 
-                if (StateManagerFriend.rememberAction(objectAddr, actionHandle, RecordType.ACTIVATION))
+                if (StateManagerFriend.rememberAction(objectAddr, actionHandle, RecordType.ACTIVATION, state))
                     return TwoPhaseOutcome.PREPARE_READONLY;
             }
         }

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/StateManagerFriend.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/StateManagerFriend.java	2010-03-04 09:55:42 UTC (rev 31930)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/abstractrecords/StateManagerFriend.java	2010-03-04 12:05:31 UTC (rev 31931)
@@ -77,14 +77,14 @@
     }
     
     public static final boolean rememberAction (StateManager inst,
-            BasicAction act, int recordType)
+            BasicAction act, int recordType, int state)
     {
         try
         {
-            Method m = StateManager.class.getDeclaredMethod("rememberAction", BasicAction.class, int.class);
+            Method m = StateManager.class.getDeclaredMethod("rememberAction", BasicAction.class, int.class, int.class);
 
             m.setAccessible(true);
-            Boolean b = (Boolean) m.invoke(inst, act, recordType);
+            Boolean b = (Boolean) m.invoke(inst, act, recordType, state);
             m.setAccessible(false);
 
             return b.booleanValue();

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/resources/ExtendedObject.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/resources/ExtendedObject.java	2010-03-04 09:55:42 UTC (rev 31930)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/resources/ExtendedObject.java	2010-03-04 12:05:31 UTC (rev 31931)
@@ -81,7 +81,7 @@
 
     public boolean remember (BasicAction act)
     {
-        return super.rememberAction(act, RecordType.ACTIVATION);
+        return super.rememberAction(act, RecordType.ACTIVATION, ObjectStatus.ACTIVE);
     }
     
     public void incr(int value)

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java	2010-03-04 09:55:42 UTC (rev 31930)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java	2010-03-04 12:05:31 UTC (rev 31931)
@@ -33,7 +33,6 @@
 
 import com.arjuna.ats.internal.jta.utils.jtaxLogger;
 import com.arjuna.ats.jta.common.jtaPropertyManager;
-import com.arjuna.ats.jta.logging.*;
 
 import org.omg.CosTransactions.*;
 
@@ -46,12 +45,6 @@
 import javax.transaction.NotSupportedException;
 import java.lang.IllegalStateException;
 import java.lang.NullPointerException;
-import org.omg.CosTransactions.SubtransactionsUnavailable;
-import org.omg.CosTransactions.NoTransaction;
-import org.omg.CosTransactions.HeuristicMixed;
-import org.omg.CosTransactions.HeuristicHazard;
-import org.omg.CosTransactions.InvalidControl;
-import org.omg.CosTransactions.WrongTransaction;
 
 /**
  * Some common methods for UserTransaction and TransactionManager.



More information about the jboss-svn-commits mailing list