use of com.hp.mwtests.ts.txoj.common.exceptions.TestException in project narayana by jbosstm.
the class AtomicObject method set.
public void set(int value) throws TestException {
AtomicAction A = new AtomicAction();
A.begin();
if (setlock(new Lock(LockMode.WRITE), retry) == LockResult.GRANTED) {
state = value;
if (A.commit() != ActionStatus.COMMITTED)
throw new TestException("Action commit error.");
else
return;
} else {
if (printDebug)
System.out.println("Error - could not set write lock.");
}
A.abort();
throw new TestException("Write lock error.");
}
use of com.hp.mwtests.ts.txoj.common.exceptions.TestException in project narayana by jbosstm.
the class AtomicObject method get.
public int get() throws TestException {
AtomicAction A = new AtomicAction();
int value = -1;
A.begin();
if (setlock(new Lock(LockMode.READ), retry) == LockResult.GRANTED) {
value = state;
if (A.commit() == ActionStatus.COMMITTED)
return value;
else
throw new TestException("Action commit error.");
} else {
if (printDebug)
System.out.println("Error - could not set read lock.");
}
A.abort();
throw new TestException("Read lock error.");
}
use of com.hp.mwtests.ts.txoj.common.exceptions.TestException in project narayana by jbosstm.
the class AtomicObjectLog method incr.
public void incr(int value) throws TestException {
AtomicAction A = new AtomicAction();
A.begin();
if (setlock(new Lock(LockMode.WRITE), 0) == LockResult.GRANTED) {
state += value;
if (A.commit() != ActionStatus.COMMITTED)
throw new TestException("Action commit error.");
else
return;
} else {
if (printDebug)
System.out.println("Error - could not set write lock.");
}
A.abort();
throw new TestException("Write lock error.");
}
use of com.hp.mwtests.ts.txoj.common.exceptions.TestException in project narayana by jbosstm.
the class AtomicObjectLog method get.
public int get() throws TestException {
AtomicAction A = new AtomicAction();
int value = -1;
A.begin();
if (setlock(new Lock(LockMode.READ), 0) == LockResult.GRANTED) {
value = state;
if (A.commit() == ActionStatus.COMMITTED)
return value;
else
throw new TestException("Action commit error.");
} else {
if (printDebug)
System.out.println("Error - could not set read lock.");
}
A.abort();
throw new TestException("Read lock error.");
}
use of com.hp.mwtests.ts.txoj.common.exceptions.TestException in project narayana by jbosstm.
the class PerformanceTest2 method persistentTest.
@Test
public void persistentTest() {
long iters = 1000;
AtomicObject foo = new AtomicObject();
AtomicAction A = null;
long t1 = System.currentTimeMillis();
try {
for (int c = 0; c < iters; c++) {
A = new AtomicAction();
A.begin();
foo.set(2);
A.commit();
}
} catch (TestException e) {
if (A != null)
A.abort();
fail("AtomicObject exception raised.");
}
reportThroughput("persistentTest", iters, t1);
}
Aggregations