-
-echo "Producing messages"
-mvn exec:java@producer
-
-echo "Reading messages"
-mvn exec:java@consumer &
-sleep 7
-kill $(jobs -p)
-sleep 2
-
-echo "Re-Reading messages"
-mvn exec:java@consumer &
-sleep 7
-kill $(jobs -p)
-sleep 2
+docker-compose up setup
+docker-compose up -d gateway requests adder
+
+while ! [[ $(http 0:8080/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for gateway..."; sleep 1; done
+while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for requests..."; sleep 1; done
+while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for adder..."; sleep 1; done
+
+docker-compose up -d peter
+
+while [[ "$(http :8082/results | jq -r .)" == "{}" ]]; do echo "Waiting for some results to show up..."; done
+http -v :8082/results
+sleep 3
+http -v :8082/results
+http :8082/results/peter | jq .[].sum | uniq
+docker-compose kill -s 9 adder
+
+docker-compose up -d adder
+docker-compose kill -s 9 peter
+while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for adder..."; sleep 1; done
+while [[ "$(http :8082/results | jq -r .)" == "{}" ]]; do echo "Waiting for some results to show up..."; sleep 1; done
+http :8082/results/peter | jq .[].sum | uniq