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 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 #!/bin/bash
while getopts ":i:f:o:" opt; do while getopts ":i:s:f:c:o:p:" opt; do
case $opt in case $opt in
i) i)
IN=$OPTARG IN=--spring.cloud.stream.bindings.input.destination=$OPTARG
;;
s)
FUNC=$OPTARG
TYPE=supplier
;; ;;
f) f)
FUNC=$OPTARG FUNC=$OPTARG
TYPE=function TYPE=function
;; ;;
c)
FUNC=$OPTARG
TYPE=consumer
;;
o) o)
OUT=$OPTARG OUT=--spring.cloud.stream.bindings.output.destination=$OPTARG
;;
p)
PORT=$OPTARG
;; ;;
esac esac
done done
java -jar ../spring-cloud-function-samples/spring-cloud-function-sample-bytecode/target/function-sample-bytecode-1.0.0.BUILD-SNAPSHOT.jar\ 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=$PORT\
--server.port=9999\ $IN\
--spring.cloud.stream.bindings.input.destination=$IN\ $OUT\
--spring.cloud.stream.bindings.output.destination=$OUT\
--function.name=$TYPE\ --function.name=$TYPE\
--function.type=$TYPE\ --function.type=$TYPE\
--function.resource=file:///tmp/function-registry/$TYPE's'/$FUNC.fun --function.resource=file:///tmp/function-registry/$TYPE's'/$FUNC.fun