Fixed bug on first start-up (no current offsets)
[demos/kafka/outbox] / README.sh
1 #!/bin/bash
2
3 if [ "$1" = "cleanup" ]
4 then
5   docker-compose down -v
6   mvn clean
7   docker image rm juplo/jdbc:outbox
8   docker image rm juplo/outbox:polling
9   exit
10 fi
11
12 if [[
13   $(docker image ls -q juplo/jdbc:outbox) == "" ||
14   $(docker image ls -q juplo/outbox:polling) == "" ||
15   "$1" = "build"
16 ]]
17 then
18   mvn package || exit
19 else
20   echo "Using image existing images:"
21   docker image ls juplo/jdbc:outbox
22   docker image ls juplo/outbox:polling
23 fi
24
25 trap 'kill $(jobs -p)' EXIT
26
27 docker-compose up -d zookeeper kafka
28
29 while ! [[ $(docker-compose exec kafka zookeeper-shell zookeeper:2181 ls /brokers/ids 2> /dev/null) =~ 1001 ]];
30 do
31   echo "Waiting for kafka...";
32   sleep 1;
33 done
34
35 docker-compose exec kafka kafka-topics --zookeeper zookeeper:2181 --create --if-not-exists --replication-factor 1 --partitions 3 --topic outbox
36
37
38 docker-compose up -d jdbc outbox kafkacat
39
40 while ! [[ $(http :8080/actuator/health 2>/dev/null | jq -r .status) == "UP" ]];
41 do
42   echo "Waiting for User-Service...";
43   sleep 1;
44 done
45
46
47 docker-compose logs -f kafkacat &
48
49 for i in `seq 1 20`;
50 do
51   echo peter$i | http :8080/users
52   echo uwe$i | http :8080/users
53   echo simone$i | http :8080/users
54   http DELETE :8080/users/franz$i
55   http DELETE :8080/users/simone$i
56   echo franz$i | http :8080/users
57   echo beate$i | http :8080/users
58   http DELETE :8080/users/uwe$i
59   sleep 1
60 done;
61
62 sleep 2