[jboss-svn-commits] JBL Code SVN: r29506 - in labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943: stm and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 29 13:24:59 EDT 2009


Author: whitingjr
Date: 2009-09-29 13:24:59 -0400 (Tue, 29 Sep 2009)
New Revision: 29506

Modified:
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java
   labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/transaction/TransactionManager.java
Log:
changes to adapt stm for persistence.

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java	2009-09-29 16:22:34 UTC (rev 29505)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/entitymanager/STMEntityManagerFactoryImpl.java	2009-09-29 17:24:59 UTC (rev 29506)
@@ -68,6 +68,7 @@
       else
       {
          isOpen = false;
+         persisteMemoryStoreToDisk();
       }
    }
 

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java	2009-09-29 16:22:34 UTC (rev 29505)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/STM.java	2009-09-29 17:24:59 UTC (rev 29506)
@@ -3,9 +3,13 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
 
 import javax.transaction.Status;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.builder.EqualsBuilder;
@@ -33,19 +37,26 @@
  * @author <a href="whitingjr at hotmail.com">Jeremy Whiting</a>
  * @version $Revision: 1.1 $
  */
+
+
+ at XmlRootElement (name="stm")
 public class STM
 {
-   private final String databaseName;
-   private static final Logger logger = Logger.getLogger(STM.class);
-   private final ConcurrentMap<Long, TransactedObjectReference> transactedFieldMemory ;
-   private final ConcurrentMap<String, List<Object>> transactedModelMemory;
-   private final TransactionManager transactionManager = new TransactionManager();
-   private ThreadLocal<Integer> isolationLevel = new ThreadLocal<Integer>();
-   private ThreadLocal<Integer> timeoutPeriod = new ThreadLocal<Integer>();
-   private static final int RETRY_COUNT = 2000;
-   private static final int DEFAULT_TIMEOUT = 5000; // 5 seconds
-   private static final long EXPIRE_BEFORE_TIMEOUT = 2000;
-   private ThreadLocal<Boolean> trackingEnabled = new ThreadLocal<Boolean>(); // defaulted to true
+   @XmlTransient private final String databaseName;
+   @XmlTransient private static final Logger logger = Logger.getLogger(STM.class);
+   @XmlElementWrapper
+   @XmlElement (name="fieldMemory")
+   private final Map<Long, TransactedObjectReference> transactedFieldMemory ;
+   @XmlElementWrapper
+   @XmlElement (name="modelMemory")
+   private final Map<String, List<Object>> transactedModelMemory;
+   @XmlTransient private final TransactionManager transactionManager = new TransactionManager();
+   @XmlTransient private ThreadLocal<Integer> isolationLevel = new ThreadLocal<Integer>();
+   @XmlTransient private ThreadLocal<Integer> timeoutPeriod = new ThreadLocal<Integer>();
+   @XmlTransient private static final int RETRY_COUNT = 2000;
+   @XmlTransient private static final int DEFAULT_TIMEOUT = 5000; // 5 seconds
+   @XmlTransient private static final long EXPIRE_BEFORE_TIMEOUT = 2000;
+   @XmlTransient private ThreadLocal<Boolean> trackingEnabled = new ThreadLocal<Boolean>(); // defaulted to true
    
    /**
     * This method is where transactional updates are made..
@@ -69,7 +80,7 @@
       return transaction.read(fieldRead, this.transactionManager); 
    }
 
-   public STM(String name, ConcurrentMap<Long, TransactedObjectReference> transactedFieldMemory, ConcurrentMap<String, List<Object>> transactedModelMemory)
+   public STM(String name, Map<Long, TransactedObjectReference> transactedFieldMemory, Map<String, List<Object>> transactedModelMemory)
    {
       this.databaseName = name;
       this.transactedFieldMemory = transactedFieldMemory;
@@ -301,4 +312,10 @@
       }
       return returnValue.toString();
    }
+   public STM()
+   {
+      this.transactedFieldMemory = null;
+      this.transactedModelMemory = null;
+      this.databaseName = "";
+   }
 }

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java	2009-09-29 16:22:34 UTC (rev 29505)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/object/TransactedObjectReference.java	2009-09-29 17:24:59 UTC (rev 29506)
@@ -22,7 +22,6 @@
    protected AtomicLong version = new AtomicLong();
    transient final ReentrantReadWriteLock prepared = new ReentrantReadWriteLock(true);
    protected transient Long preparedVersion ;
-   private Updater updater;
    
    public TransactedObjectReference(Long identity, Object value, long version)
    {

Modified: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/transaction/TransactionManager.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/transaction/TransactionManager.java	2009-09-29 16:22:34 UTC (rev 29505)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleSTM/src/main/java/uk/ac/ncl/sdia/a8905943/stm/transaction/TransactionManager.java	2009-09-29 17:24:59 UTC (rev 29506)
@@ -266,7 +266,7 @@
     * @param fieldMemory
     * @return success indicator
     */
-   public boolean commit(STMTransaction transaction, ConcurrentMap<Long, TransactedObjectReference> fieldMemory)
+   public boolean commit(STMTransaction transaction, Map<Long, TransactedObjectReference> fieldMemory)
    {
       boolean returnValue = false;
       boolean isReadLockValid = true;



More information about the jboss-svn-commits mailing list