Moved postage of messages into a reusable standalone implementation
[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/data-jdbc:polling-outbox-2-SNAPSHOT
8   docker image rm juplo/outbox-delivery:polling-outbox-2-SNAPSHOT
9   exit
10 fi
11
12 docker-compose up -d zookeeper kafka
13
14 if [[
15   $(docker image ls -q juplo/data-jdbc:polling-outbox-2-SNAPSHOT) == "" ||
16   $(docker image ls -q juplo/outbox-delivery:polling-outbox-2-SNAPSHOT) == "" ||
17   "$1" = "build"
18 ]]
19 then
20   mvn install || exit
21 else
22   echo "Using image existing images:"
23   docker image ls juplo/data-jdbc:polling-outbox-2-SNAPSHOT
24   docker image ls juplo/outbox-delivery:polling-outbox-2-SNAPSHOT
25 fi
26
27 while ! [[ $(docker-compose exec kafka zookeeper-shell zookeeper:2181 ls /brokers/ids 2> /dev/null) =~ 1001 ]];
28 do
29   echo "Waiting for kafka...";
30   sleep 1;
31 done
32
33 docker-compose exec kafka kafka-topics --zookeeper zookeeper:2181 --create --if-not-exists --replication-factor 1 --partitions 3 --topic outbox
34
35
36 docker-compose up -d jdbc outbox kafkacat
37
38 while ! [[ $(http :8080/actuator/health 2>/dev/null | jq -r .status) == "UP" ]];
39 do
40   echo "Waiting for User-Service...";
41   sleep 1;
42 done
43
44
45 docker-compose logs --tail=0 -f jdbc kafkacat &
46
47 for i in `seq 1 7`;
48 do
49   echo peter$i | http :8080/users
50   echo uwe$i | http :8080/users
51   echo peter$i | http :8080/users
52   echo simone$i | http :8080/users
53   echo beate$i | http :8080/users
54   http DELETE :8080/users/franz$i
55   http DELETE :8080/users/simone$i
56   echo beate$i | http :8080/users
57   http DELETE :8080/users/beate$i
58   echo franz$i | http :8080/users
59   echo franz$i | http :8080/users
60   echo beate$i | http :8080/users
61   http DELETE :8080/users/uwe$i
62   sleep 1
63 done;
64
65 docker-compose exec postgres psql -Uoutbox -c'SELECT * FROM outbox;' -Ppager=0  outbox
66 # "kill" the executions of "docker-compose logs ..."
67 docker-compose stop jdbc kafkacat