import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.ats.arjuna.AtomicAction;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.shareddata.LocalMap;
import org.jboss.stm.Container;
public class SampleVerticle1 extends AbstractVerticle {
public void start()
{
LocalMap<String, String> map = vertx.sharedData().getLocalMap("demo.mymap");
Container<Sample> theContainer = new Container<Sample>("Demo", Container.TYPE.PERSISTENT, Container.MODEL.SHARED);
String uidName = map.get(ClientVerticle.LEADER);
Sample obj1 = theContainer.clone(new SampleLockable(10), new Uid(uidName));
AtomicAction A = new AtomicAction();
int value = -1;
int initialValue = -1;
boolean shouldCommit = true;
A.begin();
try
{
initialValue = obj1.value();
obj1.increment();
value = obj1.value();
}
catch (final Throwable ex)
{
ex.printStackTrace();
shouldCommit = false;
}
if (shouldCommit)
A.commit();
else
{
A.abort();
value = -1;
}
System.err.println("SampleVerticle1 initialised state with: "+value);
if (value == initialValue + 1)
System.err.println("SampleVerticle1 SUCCEEDED!");
else
System.err.println("SampleVerticle1 FAILED!");
}
}