summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/replica1/Replica1.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/derms/replica1/Replica1.java')
-rw-r--r--src/main/java/derms/replica1/Replica1.java30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/main/java/derms/replica1/Replica1.java b/src/main/java/derms/replica1/Replica1.java
index a59ed4c..6863d5c 100644
--- a/src/main/java/derms/replica1/Replica1.java
+++ b/src/main/java/derms/replica1/Replica1.java
@@ -7,9 +7,12 @@ import derms.Response;
import derms.replica2.DermsLogger;
import derms.util.ThreadPool;
+import javax.xml.ws.Endpoint;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
+import java.util.Random;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Logger;
@@ -20,12 +23,15 @@ public class Replica1 implements Replica {
private final ExecutorService pool;
private final Logger log;
private final InetAddress localAddr;
- private final ResponderClient responderClient;
- private final CoordinatorClient coordinatorClient;
+// private final ResponderClient responderClient;
+// private final CoordinatorClient coordinatorClient;
private final String responderClientID = "MTL";
private final String coordinatorClientID = "MTLC1111";
private final ReplicaManager replicaManager;
private DERMSServer server;
+ private final ConcurrentHashMap<String, Integer> portsMap;
+ private final Random r = new Random();
+
public Replica1(ReplicaManager replicaManager) {
this.replicaManager = replicaManager;
@@ -35,13 +41,17 @@ public class Replica1 implements Replica {
} catch (UnknownHostException e) {
throw new RuntimeException(e);
}
- responderClient = new ResponderClient(responderClientID);
- coordinatorClient = new CoordinatorClient(coordinatorClientID);
+// responderClient = new ResponderClient(responderClientID);
+// coordinatorClient = new CoordinatorClient(coordinatorClientID);
try {
this.log = DermsLogger.getLogger(getClass());
} catch (IOException e) {
throw new RuntimeException(e);
}
+ portsMap = new ConcurrentHashMap<>();
+ portsMap.put("MTL", r.nextInt(60000-8000) + 8000);
+ portsMap.put("QUE", r.nextInt(60000-8000) + 8000);
+ portsMap.put("SHE", r.nextInt(60000-8000) + 8000);
}
@Override
@@ -52,20 +62,26 @@ public class Replica1 implements Replica {
@Override
public void startProcess() {
try {
- server = new DERMSServer("MTL");
+ server = new DERMSServer("MTL", portsMap);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
try {
- new DERMSServer("SHE");
+ new DERMSServer("SHE", portsMap);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
try {
- new DERMSServer("QUE");
+ new DERMSServer("QUE", portsMap);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
+// try {
+// Endpoint.publish("http://localhost:8387/ws/derms", new DERMSServer("MTL"));
+// Endpoint.publish("http://localhost:8081/ws/derms", new DERMSServer("QUE"));
+// Endpoint.publish("http://localhost:8082/ws/derms", new DERMSServer("SHE"));
+// } catch (InterruptedException e) {}
+
alive = true;
log.info(getClass().getSimpleName() + " started.");
log.config("Local address is "+localAddr.toString());