To run these examples, change into the scripts directory:
cd scripts
./registerFunction.sh -n uppercase -f "f->f.map(s->s.toString().toUpperCase())"
./web.sh -f uppercase -p 9000 curl -H "Content-Type: text/plain" -H "Accept: text/plain" :9000/function -d foo
./web.sh -s words -p 9001 curl -H "Accept: application/json" :9001/supplier
./web.sh -c print -p 9002 curl -X POST -H "Content-Type: text/plain" -d foo :9002/consumer
First register a streaming words supplier:
./registerSupplier.sh -n wordstream -f "()->Flux.intervalMillis(1000).map(i->\"message-\"+i)
Then start the source (supplier), processor (function), and sink (consumer) apps:
./stream.sh -p 9101 -s wordstream -o words ./stream.sh -p 9102 -i words -f uppercase -o uppercaseWords ./stream.sh -p 9103 -i uppercaseWords -c print
The output will appear in the console of the sink app (one message per second, converted to uppercase):
MESSAGE-0 MESSAGE-1 MESSAGE-2 MESSAGE-3 MESSAGE-4 MESSAGE-5 MESSAGE-6 MESSAGE-7 MESSAGE-8 MESSAGE-9 ...