package org.prevayler.demos.demo2;
import org.prevayler.Prevayler;
import org.prevayler.PrevaylerFactory;
import org.prevayler.demos.demo2.business.Bank;
public class MainReplica {
public static void main(String[] args) throws Exception {
out( "This demo shows how your application can be replicated"
+ "\nwithout changing ONE SINGLE LINE OF CODE in the"
+ "\nbusiness classes or GUI. This enables query load-"
+ "\nbalancing and system fault-tolerance.\n\n"
);
String serverURI;
if (args.length == 1) {
serverURI = args[0];
} else {
out( "Usage: java MainReplica <Server IP Address>"
+ "\nExample: java MainReplica 10.42.10.5"
+ "\n\nBefore that, though, you must run: java MainReplicaServer"
+ "\non this machine or any other in your network, if you haven't"
+ "\nalready done so.\n"
+ "\nTrying to find server on localhost..."
);
serverURI = "localhost";
}
PrevaylerFactory factory = new PrevaylerFactory();
factory.configurePrevalentSystem(new Bank());
factory.configurePrevalenceDirectory("demo2Replica");
factory.configureReplicationClient(serverURI, PrevaylerFactory.DEFAULT_REPLICATION_PORT);
Prevayler prevayler = factory.create();
Main.startSnapshots(prevayler);
}
private static void out(String message) {
System.out.println(message);
}
}