[jbosscache-commits] JBoss Cache SVN: r7572 - core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Thu Jan 22 16:02:50 EST 2009


Author: mircea.markus
Date: 2009-01-22 16:02:49 -0500 (Thu, 22 Jan 2009)
New Revision: 7572

Modified:
   core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java
Log:
more strict concurrency control

Modified: core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java	2009-01-22 19:48:46 UTC (rev 7571)
+++ core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java	2009-01-22 21:02:49 UTC (rev 7572)
@@ -3,15 +3,19 @@
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.Fqn;
 import org.jboss.cache.UnitTestCacheFactory;
+import org.jboss.cache.transaction.AsyncRollbackTransactionManager;
 import org.jboss.cache.config.Configuration;
 import org.jboss.cache.util.TestingUtil;
 import static org.testng.AssertJUnit.*;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
 
 import javax.transaction.SystemException;
 import javax.transaction.TransactionManager;
+import javax.transaction.Status;
 
 /**
  * Test behaviour of async rollback timeouted transaction
@@ -19,11 +23,11 @@
  * @author <a href="mailto:jhalat at infovide.pl">Jacek Halat</a>
  * @since 1.4.0
  */
- at Test(groups = {"functional"}, sequential = true, testName = "transaction.pessimistic.AsyncRollbackTxTest")
+ at Test(groups = {"functional"}, testName = "transaction.pessimistic.AsyncRollbackTxTest")
 public class AsyncRollbackTxTest
 {
    private CacheSPI<String, String> cache;
-   private TransactionManager tm;
+   private AsyncRollbackTransactionManager tm;
    private Fqn fqn = Fqn.fromString("/test");
    // This sleep time (millis) should be longer than the transaction timeout time.
    private long sleepTime = 2500;
@@ -39,7 +43,7 @@
       c.setSerializationExecutorPoolSize(0);
       UnitTestCacheFactory<String, String> instance = new UnitTestCacheFactory<String, String>();
       cache = (CacheSPI<String, String>) instance.createCache(c, getClass());
-      tm = cache.getConfiguration().getRuntimeConfig().getTransactionManager();
+      tm = (AsyncRollbackTransactionManager) cache.getConfiguration().getRuntimeConfig().getTransactionManager();
       tm.setTransactionTimeout(txTimeout);
    }
 
@@ -215,8 +219,14 @@
                cache.get(fqn, "k");// obtain read lock on node
             }
 
-            // sleep to ensure tx times out.
-            sleep(2500);
+            for (int i =0; i < 100; i++) //max 50 secs
+            {
+               if (tm.getTransaction().getStatus() == Status.STATUS_ROLLEDBACK)
+               {
+                  break;  
+               }
+               Thread.sleep(500);
+            }
 
             if (commit)
             {




More information about the jbosscache-commits mailing list