use of org.omg.CosTransactions.Control in project narayana by jbosstm.
the class JtsTransactionImple method createControlWrapper.
private static ControlWrapper createControlWrapper(String ior) {
org.omg.CORBA.Object obj = ORBManager.getORB().orb().string_to_object(ior);
Control control = org.omg.CosTransactions.ControlHelper.narrow(obj);
if (control == null)
log.warn("createProxy: ior not a control");
return new ControlWrapper(control);
}
use of org.omg.CosTransactions.Control in project narayana by jbosstm.
the class Test20 method main.
public static void main(String[] args) {
try {
ORBInterface.initORB(args, null);
OAInterface.initOA();
boolean correct = true;
int numberOfControls = 1000;
Current current = OTS.get_current();
String[] transactionNames = new String[numberOfControls];
Control[] controls = new Control[numberOfControls];
for (int index = 0; index < numberOfControls; index++) {
current.begin();
transactionNames[index] = current.get_transaction_name();
controls[index] = current.suspend();
}
for (int index = 0; index < numberOfControls; index++) {
current.resume(controls[index]);
correct = correct && transactionNames[index].equals(current.get_transaction_name());
current.commit(true);
}
if (correct) {
System.out.println("Passed");
} else {
System.out.println("Failed");
}
} catch (Exception exception) {
System.out.println("Failed");
System.err.println("Test20.main: " + exception);
exception.printStackTrace(System.err);
}
try {
OAInterface.shutdownOA();
ORBInterface.shutdownORB();
} catch (Exception exception) {
System.err.println("Test20.main: " + exception);
exception.printStackTrace(System.err);
}
}
use of org.omg.CosTransactions.Control in project narayana by jbosstm.
the class Client02 method operation.
private static boolean operation() throws Exception {
boolean successful = false;
try {
AtomicTransaction atomicTransaction = new AtomicTransaction();
try {
atomicTransaction.begin();
try {
int d = Math.abs(_random.nextInt() % 10) + 1;
int x0 = Math.abs(_random.nextInt() % _matrixWidth);
int y0 = Math.abs(_random.nextInt() % _matrixHeight);
int x1 = Math.abs(_random.nextInt() % _matrixWidth);
int y1 = Math.abs(_random.nextInt() % _matrixHeight);
IntHolder location0Value = new IntHolder();
IntHolder location1Value = new IntHolder();
Control control = OTS.current().get_control();
_matrix.get_value(x0, y0, location0Value, control);
_matrix.get_value(x1, y1, location1Value, control);
_matrix.set_value(x0, y0, location1Value.value + d, control);
_matrix.set_value(x1, y1, location0Value.value - d, control);
successful = (x0 != x1) || (y0 != y1);
} catch (InvocationException invocationException) {
if (invocationException.myreason != Reason.ReasonConcurrencyControl) {
throw invocationException;
}
}
if (successful) {
atomicTransaction.commit(true);
} else {
atomicTransaction.rollback();
}
} catch (Exception exception) {
if (atomicTransaction.get_status() == Status.StatusActive) {
atomicTransaction.rollback();
}
throw exception;
}
} catch (Exception exception) {
System.err.println("Client02.operation: " + exception);
exception.printStackTrace(System.err);
throw exception;
}
return successful;
}
use of org.omg.CosTransactions.Control in project narayana by jbosstm.
the class Test21 method main.
public static void main(String[] args) {
try {
ORBInterface.initORB(args, null);
OAInterface.initOA();
boolean correct = true;
Current current = OTS.get_current();
Control control = current.suspend();
correct = (control == null);
if (correct) {
System.out.println("Passed");
} else {
System.out.println("Failed");
}
} catch (Exception exception) {
System.out.println("Failed");
System.err.println("Test21.main: " + exception);
exception.printStackTrace(System.err);
}
try {
OAInterface.shutdownOA();
ORBInterface.shutdownORB();
} catch (Exception exception) {
System.err.println("Test21.main: " + exception);
exception.printStackTrace(System.err);
}
}
use of org.omg.CosTransactions.Control in project narayana by jbosstm.
the class Test27 method main.
public static void main(String[] args) {
try {
ORBInterface.initORB(args, null);
OAInterface.initOA();
boolean correct = true;
Current current = OTS.get_current();
current.begin();
Control control = current.get_control();
current.commit(false);
try {
current.resume(control);
} catch (InvalidControl invalidControl) {
System.err.println("Failed to resume committed transaction!");
correct = false;
}
if (correct) {
System.out.println("Passed");
} else {
System.out.println("Failed");
}
} catch (Exception exception) {
System.out.println("Failed");
System.err.println("Test27.main: " + exception);
exception.printStackTrace(System.err);
}
try {
OAInterface.shutdownOA();
ORBInterface.shutdownORB();
} catch (Exception exception) {
System.err.println("Testt27.main: " + exception);
exception.printStackTrace(System.err);
}
}
Aggregations