1 22 package org.jboss.test.tm.test; 23 24 import javax.transaction.Transaction ; 25 26 32 public class SimpleUncontendedTransactionLocalStressTestCase extends AbstractTransactionLocalStressTest 33 { 34 public void testSimpleTransactionLocalStressTestcase() throws Throwable 35 { 36 SimpleTransactionLocalRunnable[] runnables = new SimpleTransactionLocalRunnable[getThreadCount()]; 37 for (int i = 0; i < runnables.length; ++i) 38 runnables[i] = new SimpleTransactionLocalRunnable(); 39 40 runConcurrentTest(runnables, null); 41 } 42 43 public class SimpleTransactionLocalRunnable extends ConcurrentRunnable 44 { 45 Transaction tx; 46 47 public void doStart() 48 { 49 try 50 { 51 tm.setTransactionTimeout(0); 52 tm.begin(); 53 tx = tm.getTransaction(); 54 } 55 catch (Throwable t) 56 { 57 failure = t; 58 } 59 } 60 public void doEnd() 61 { 62 try 63 { 64 tm.commit(); 65 } 66 catch (Throwable t) 67 { 68 failure = t; 69 } 70 } 71 72 public void doRun() 73 { 74 try 75 { 76 local.lock(tx); 77 try 78 { 79 local.set(this); 80 local.get(); 81 } 82 finally 83 { 84 local.unlock(tx); 85 } 86 } 87 catch (Throwable t) 88 { 89 failure = t; 90 } 91 } 92 } 93 94 public SimpleUncontendedTransactionLocalStressTestCase(String name) 95 { 96 super(name); 97 } 98 } 99 | Popular Tags |