[jboss-svn-commits] JBL Code SVN: r5356 - in labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats: arjuna arjuna/coordinator internal/arjuna/coordinator
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jul 31 04:56:46 EDT 2006
Author: kevin.conner at jboss.com
Date: 2006-07-31 04:56:43 -0400 (Mon, 31 Jul 2006)
New Revision: 5356
Modified:
labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/AtomicAction.java
labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TransactionReaper.java
labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TwoPhaseCoordinator.java
labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java
Log:
Rewritten reaper and removal of debugs
Modified: labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/AtomicAction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/AtomicAction.java 2006-07-31 02:57:08 UTC (rev 5355)
+++ labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/AtomicAction.java 2006-07-31 08:56:43 UTC (rev 5356)
@@ -37,8 +37,6 @@
import com.arjuna.ats.internal.arjuna.thread.*;
import com.arjuna.ats.arjuna.common.*;
-import java.util.Date;
-
/**
* This is a user-level transaction class, unlike BasicAction. AtomicAction
* takes care of thread-to-action scoping. This is a "one-shot" object, i.e.,
@@ -200,7 +198,6 @@
public int abort ()
{
- System.out.println("TS_DEBUG: Transaction abort called at " + new Date()) ;
int status = super.cancel();
/*
Modified: labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TransactionReaper.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TransactionReaper.java 2006-07-31 02:57:08 UTC (rev 5355)
+++ labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TransactionReaper.java 2006-07-31 08:56:43 UTC (rev 5356)
@@ -115,11 +115,14 @@
public final synchronized long checkingPeriod ()
{
- if (_dynamic && (_list.size() > 0))
- {
- final ReaperElement head = (ReaperElement)_list.peak() ;
- return head._absoluteTimeout - System.currentTimeMillis() ;
- }
+ if (_dynamic)
+ {
+ final ReaperElement head = (ReaperElement)_list.peak() ;
+ if (head != null)
+ {
+ return head._absoluteTimeout - System.currentTimeMillis() ;
+ }
+ }
return _checkPeriod;
}
@@ -156,7 +159,6 @@
}
final long now = System.currentTimeMillis() ;
- System.err.println("TS_DEBUG: Reaper comparing current time " + now + " with transaction lifetime of " + e._absoluteTimeout) ;
if (now >= e._absoluteTimeout)
{
@@ -286,7 +288,7 @@
if ((timeoutms < _checkPeriod) || (_checkPeriod == Long.MAX_VALUE))
{
_checkPeriod = timeoutms ; // convert to milliseconds!
- TransactionReaper._reaperThread.interrupt();
+ notify();
}
if (_list.insert(e))
Modified: labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TwoPhaseCoordinator.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TwoPhaseCoordinator.java 2006-07-31 02:57:08 UTC (rev 5355)
+++ labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TwoPhaseCoordinator.java 2006-07-31 08:56:43 UTC (rev 5356)
@@ -37,8 +37,6 @@
import com.arjuna.ats.internal.arjuna.template.*;
-import java.util.Date;
-
/**
* Adds support for synchronizations to BasicAction. It does not change thread
* associations either. It also allows any thread to terminate a transaction,
@@ -98,7 +96,6 @@
public int cancel ()
{
- System.err.println("TS_DEBUG: Transaction cancel called at " + new Date()) ;
if (parent() != null)
parent().removeChildAction(this);
Modified: labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java 2006-07-31 02:57:08 UTC (rev 5355)
+++ labs/jbosstm/branches/JBOSSTS_4_2_GA_MP2/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.java 2006-07-31 08:56:43 UTC (rev 5356)
@@ -78,66 +78,35 @@
* ignore.
*/
- boolean done = false;
-
- while (!done)
- {
- sleepPeriod = reaperObject.checkingPeriod();
+ synchronized(reaperObject)
+ {
+ sleepPeriod = reaperObject.checkingPeriod();
- if (sleepPeriod > 0)
- {
- long beforeTime = System.currentTimeMillis();
+ if (sleepPeriod > 0)
+ {
+ try
+ {
+ if (tsLogger.arjLoggerI18N.isDebugEnabled())
+ {
+ tsLogger.arjLoggerI18N.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC,
+ FacilityCode.FAC_ATOMIC_ACTION,
+ "com.arjuna.ats.internal.arjuna.coordinator.ReaperThread_1",
+ new Object[]{Thread.currentThread(),
+ Long.toString(sleepPeriod)});
+ }
- try
- {
- if (tsLogger.arjLoggerI18N.debugAllowed())
- {
- tsLogger.arjLoggerI18N.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC,
- FacilityCode.FAC_ATOMIC_ACTION,
- "com.arjuna.ats.internal.arjuna.coordinator.ReaperThread_1",
- new Object[]{Thread.currentThread(),
- Long.toString(sleepPeriod)});
- }
-
- System.out.println("TS_DEBUG: Reaper thread will sleep for " + sleepPeriod) ;
-
- Thread.sleep(sleepPeriod);
-
- done = true;
- }
- catch (InterruptedException e1)
- {
- long afterTime = System.currentTimeMillis();
-
- if (afterTime - beforeTime > reaperObject.checkingPeriod())
- {
- done = true;
+ reaperObject.wait(sleepPeriod);
+ }
+ catch (InterruptedException e1) {}
}
- }
- catch (Exception e2)
- {
- done = true;
- }
- }
- else
- {
- done = true ;
- }
- }
+ }
- if (_shutdown)
- return;
+ if (_shutdown)
+ return;
- System.out.println("TS_DEBUG: ReaperThread checking state of transactions") ;
-
- reaperObject.check();
-
- if (reaperObject.numberOfTransactions() == 0)
- {
- sleepPeriod = Long.MAX_VALUE;
+ reaperObject.check();
}
}
- }
public void shutdown ()
{
More information about the jboss-svn-commits
mailing list