[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