diff --git a/VerteilteSysteme-Examples/.classpath b/VerteilteSysteme-Examples/.classpath
index 109c90d..97d2ed9 100644
--- a/VerteilteSysteme-Examples/.classpath
+++ b/VerteilteSysteme-Examples/.classpath
@@ -20,5 +20,6 @@
+
diff --git a/VerteilteSysteme-Examples/build/RMIEchoServer.jar b/VerteilteSysteme-Examples/build/RMIEchoServer.jar
index ceed2e8..6447efa 100644
Binary files a/VerteilteSysteme-Examples/build/RMIEchoServer.jar and b/VerteilteSysteme-Examples/build/RMIEchoServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar
index 34f6374..10c7622 100644
Binary files a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar and b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPPerfServer.jar b/VerteilteSysteme-Examples/build/TCPPerfServer.jar
index f43c7f4..c7c7bca 100644
Binary files a/VerteilteSysteme-Examples/build/TCPPerfServer.jar and b/VerteilteSysteme-Examples/build/TCPPerfServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPServer.jar b/VerteilteSysteme-Examples/build/TCPServer.jar
index 64b3685..57b5cc8 100644
Binary files a/VerteilteSysteme-Examples/build/TCPServer.jar and b/VerteilteSysteme-Examples/build/TCPServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPServerMulti.jar b/VerteilteSysteme-Examples/build/TCPServerMulti.jar
index 9813757..7f3a62c 100644
Binary files a/VerteilteSysteme-Examples/build/TCPServerMulti.jar and b/VerteilteSysteme-Examples/build/TCPServerMulti.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar
index ee48f1b..4010636 100644
Binary files a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPServer.jar b/VerteilteSysteme-Examples/build/UDPServer.jar
index 474f081..38f72b8 100644
Binary files a/VerteilteSysteme-Examples/build/UDPServer.jar and b/VerteilteSysteme-Examples/build/UDPServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPServerMulti.jar b/VerteilteSysteme-Examples/build/UDPServerMulti.jar
index 0ee2d16..1f71507 100644
Binary files a/VerteilteSysteme-Examples/build/UDPServerMulti.jar and b/VerteilteSysteme-Examples/build/UDPServerMulti.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar
index 85aeb33..741e2d6 100644
Binary files a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar b/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar
new file mode 100644
index 0000000..dfe270b
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/aws-java-sdk-s3-1.11.257.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar b/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar
new file mode 100644
index 0000000..93a3b9f
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/commons-logging-1.2.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar b/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar
new file mode 100644
index 0000000..10a6039
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/httpclient-4.5.4.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar b/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar
new file mode 100644
index 0000000..cddba28
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/httpcore-4.4.9.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar b/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar
new file mode 100644
index 0000000..b830738
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/jackson-annotations-2.9.3.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar b/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar
new file mode 100644
index 0000000..4cfc778
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/jackson-databind-2.9.3.jar differ
diff --git a/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar b/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar
new file mode 100644
index 0000000..b3080c4
Binary files /dev/null and b/VerteilteSysteme-Examples/lib-aws/joda-time-2.9.9.jar differ
diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java
index c0e8ebf..1848570 100644
--- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java
+++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java
@@ -28,14 +28,14 @@ class TCPTimeCounterClient {
}
public static void main(String args[]) throws Exception {
- String hostname = "";
+ String hostname = "35.156.87.228";
int tcpPort = 36038;
- BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
+ //BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
long timestampStart, timestampSent, timestampEnd, delay;
// Hostname vom Benutzer anfragen auf dem der Server läuft
System.out.println("Bitte geben Sie die Server-Adresse ein: ");
- hostname = inFromUser.readLine();
+ //hostname = inFromUser.readLine();
// Socket erzeugen
Socket clientSocket = new Socket(hostname, tcpPort);
@@ -43,7 +43,8 @@ class TCPTimeCounterClient {
// Zahl vom Benutzer abfragen, die dann vom Server auf den aktuellen Zählerstand
// addiert wird
System.out.println("Bitte geben Sie eine Zahl ein: ");
- Long number = new Long(inFromUser.readLine());
+ //Long number = new Long(inFromUser.readLine());
+ Long number = new Long(10);
// Zahl an Server senden
System.out.println(System.lineSeparator());
diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java
index 0abbae7..cdc06f0 100644
--- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java
+++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java
@@ -4,17 +4,22 @@ import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
+
import java.net.ServerSocket;
import java.net.Socket;
+
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
-import redis.clients.jedis.Jedis;
+
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
class TCPTimeCounterServer {
public static void main(String args[]) throws Exception {
int tcpPort = 36038;
- String redisClusterURL = "vertsys-ec1-0001-002.71rxr9.0001.euc1.cache.amazonaws.com";
+ String bucketName = "vertsys-counter";
+ //String redisClusterURL = "vertsys-ec1-0001-002.71rxr9.0001.euc1.cache.amazonaws.com";
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
// Socket erzeugen
@@ -35,19 +40,33 @@ class TCPTimeCounterServer {
long number = new Long(new String(inFromClient.readLine()));
// Verbindung zum Redis Cluster (Amazon ElastiCache)
- Jedis jedis = new Jedis(redisClusterURL, 6379);
- System.out.println("Connected to redis server");
+ //JedisPool pool = new JedisPool(new JedisPoolConfig(), redisClusterURL);
+ //Jedis jedis = pool.getResource();
+ //jedis.connect();
+ //JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisClusterURL, 6379));
+ //System.out.println("Connected to redis server");
// check whether server is running or not
//System.out.println("redis server is running: " + jedis.ping());
//System.out.println("redis server cluster info: " + jedis.clusterInfo());
// Variable für Zählerstand des Servers, dieser Zähler wird durch Anfragen der
// Clients erhöht
- jedis.incrBy("vertsys-counter", number);
- long counter = new Long(jedis.get("vertsys-counter"));
- jedis.close();
+ //jedisCluster.incrBy("vertsys-counter", number);
+ //long counter = new Long(jedisCluster.get("vertsys-counter"));
+ //jedisCluster.close();
+ //System.out.println("TTL:" + jedisCluster.ttl("vertsys-counter"));
+ //System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter);
+
+ //Verbindung zu S3
+ AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
+ String region = s3Client.getRegionName();
+ if (!s3Client.doesObjectExist("vertsys-counter", region))
+ {
+ s3Client.putObject(bucketName, region, new Long(0).toString());
+ }
+ long counter = new Long(s3Client.getObjectAsString(bucketName, region));
+ counter = counter + number;
+ s3Client.putObject(bucketName, region, new Long(counter).toString());
- System.out.println("TTL:" + jedis.ttl("vertsys-counter"));
- System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter);
// Try/Catch hinzugefügt, nachdem bei Einsatz Amazon AWS (Healthcheck des ELB) clientSentence null war
try {