made isoLevel a command line arg

This commit is contained in:
cotton-ben
2020-05-03 19:50:54 -04:00
parent 4cee367f85
commit cfb550cdd2
2 changed files with 18 additions and 9 deletions
@@ -17,18 +17,19 @@ import java.util.Arrays;
import static net.openhft.chronicle.values.Values.newNativeReference;
public class DirtyReadIntolerant {
public class DirtyReadTolerance<K,V> {
public static void main(String... ignored) throws Exception {
public static void main(String args[]) throws Exception {
System.out.println("DirtyReadOffender,chrAig,DirtyReadVictim");
System.out.println("DirtyReadOffender,chrAig["+args[0]+"],DirtyReadVictim");
String isoLevel = args[0];
ChronicleMap<String, BondVOInterface> operand =
DirtyReadIntolerant.acquireChronicleMapOperand(
DirtyReadTolerance.acquireChronicleMapOperand(
"C:\\Users\\buddy\\dev\\shm\\OPERAND_CHRONICLE_MAP"
);
ChronicleMap<String, Integer> operator =
DirtyReadIntolerant.acquireChronicleMapOperator(
DirtyReadTolerance.acquireChronicleMapOperator(
"C:\\Users\\buddy\\dev\\shm\\OPERATOR_CHRONICLE_MAP"
);
ChronicleAcidIsolationGovernor chrAig = new ChronicleAcidIsolationGovernor();
@@ -40,7 +41,7 @@ public class DirtyReadIntolerant {
DirtyReadOffender offender = new DirtyReadOffender();
offender.setCraig(chrAig);
DirtyReadVictim victim = new DirtyReadVictim();
DirtyReadVictim victim = new DirtyReadVictim(isoLevel);
victim.setCraig(chrAig);
(new Thread(offender)).start();
@@ -4,13 +4,19 @@ package net.openhft.chronicle.map.fromdocs.acid;
import net.openhft.chronicle.map.acid.BondVOInterface;
import net.openhft.chronicle.map.acid.ChronicleAcidIsolation;
import net.openhft.chronicle.map.acid.ChronicleAcidIsolationGovernor;
import java.sql.SQLException;
import java.util.Scanner;
import static net.openhft.chronicle.values.Values.newNativeReference;
public class DirtyReadVictim implements Runnable {
int isoLevel = ChronicleAcidIsolation.LOWEST_LATENCY;
DirtyReadVictim(String isoL) {
if (isoL.equals("DIRTY_READ_INTOLERANT"))
this.isoLevel = ChronicleAcidIsolation.DIRTY_READ_INTOLERANT;
else if (isoL.equals("DIRTY_READ_OPTIMISTIC"))
this.isoLevel = ChronicleAcidIsolation.DIRTY_READ_OPTIMISTIC;
}
ChronicleAcidIsolationGovernor chrAig;
@@ -40,7 +46,9 @@ public class DirtyReadVictim implements Runnable {
" DirtyReadVictim calling chrAig.get('369604101')"
);
//sc.nextLine();
chrAig.setTransactionIsolation(ChronicleAcidIsolation.DIRTY_READ_INTOLERANT);
chrAig.setTransactionIsolation(this.isoLevel);
//chrAig.setTransactionIsolation(ChronicleAcidIsolation.DIRTY_READ_INTOLERANT);
//chrAig.setTransactionIsolation(ChronicleAcidIsolation.DIRTY_READ_OPTIMISTIC);
bond = chrAig.get("369604101");
Double coupon = bond.getCoupon();
System.out.println(