[jboss-svn-commits] JBL Code SVN: r18797 - labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 10 09:49:14 EDT 2008


Author: mark.little at jboss.com
Date: 2008-03-10 09:49:14 -0400 (Mon, 10 Mar 2008)
New Revision: 18797

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java
Log:
http://jira.jboss.com/jira/browse/JBTM-341

Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java	2008-03-10 13:04:51 UTC (rev 18796)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/recovery/PeriodicRecovery.java	2008-03-10 13:49:14 UTC (rev 18797)
@@ -72,12 +72,26 @@
 
 public class PeriodicRecovery extends Thread
 {
-
+    
+/*
+ * TODO uncomment for JDK 1.5.
+ * 
    public static enum State
    {
        created, active, terminated, suspended, scanning
    }
-
+*/
+    public class State
+    {
+        public static final int created = 0;
+        public static final int active = 1;
+        public static final int terminated = 2;
+        public static final int suspended = 3;
+        public static final int scanning  = 4;
+        
+        private State () {}
+    }
+    
    public PeriodicRecovery (boolean threaded)
    {
       initialise();
@@ -109,17 +123,17 @@
       _listener.start();
    }
 
-    public State getStatus ()
+    public int getStatus ()
     {
-	synchronized (_currentState)
+	synchronized (_stateLock)
 	    {
 		return _currentState;
 	    }
     }
 
-    public void setStatus (State s)
+    public void setStatus (int s)
     {
-	synchronized (_currentState)
+	synchronized (_stateLock)
 	    {
 		_currentState = s;
 	    }
@@ -244,7 +258,7 @@
 	 * If we're suspended or already scanning, then ignore.
 	 */
 	
-	synchronized (_currentState)
+	synchronized (_stateLock)
 	{
 	    if (getStatus() != State.active)
 	    {
@@ -533,8 +547,9 @@
    private static final int _defaultRecoveryPeriod = 120;
 
    // exit thread flag
-   private static State _currentState = State.created;
-
+   private static int _currentState = State.created;
+   private static Object _stateLock = new Object();
+   
    private static SimpleDateFormat _theTimestamper = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
 
     private static ServerSocket _socket = null;




More information about the jboss-svn-commits mailing list