updated stream script for supplier and consumer

This commit is contained in:
markfisher
2017-01-19 17:17:01 -05:00
parent 94a78bdc7f
commit f709a4e08a
2 changed files with 45 additions and 9 deletions

View File

@@ -49,8 +49,34 @@ curl -H "Accept: application/json" :9001/supplier
curl -X POST -H "Content-Type: text/plain" -d foo :9002/consumer
----
== Run a Stream Processing Microservice using the Function:
== Run Stream Processing Microservices:
First register a streaming words supplier:
----
./stream.sh -i words -o uppercaseWords -f uppercase
./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
...
----

View File

@@ -1,25 +1,35 @@
#!/bin/bash
while getopts ":i:f:o:" opt; do
while getopts ":i:s:f:c:o:p:" opt; do
case $opt in
i)
IN=$OPTARG
IN=--spring.cloud.stream.bindings.input.destination=$OPTARG
;;
s)
FUNC=$OPTARG
TYPE=supplier
;;
f)
FUNC=$OPTARG
TYPE=function
;;
c)
FUNC=$OPTARG
TYPE=consumer
;;
o)
OUT=$OPTARG
OUT=--spring.cloud.stream.bindings.output.destination=$OPTARG
;;
p)
PORT=$OPTARG
;;
esac
done
java -jar ../spring-cloud-function-samples/spring-cloud-function-sample-bytecode/target/function-sample-bytecode-1.0.0.BUILD-SNAPSHOT.jar\
--management.security.enabled=false\
--server.port=9999\
--spring.cloud.stream.bindings.input.destination=$IN\
--spring.cloud.stream.bindings.output.destination=$OUT\
--server.port=$PORT\
$IN\
$OUT\
--function.name=$TYPE\
--function.type=$TYPE\
--function.resource=file:///tmp/function-registry/$TYPE's'/$FUNC.fun