[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