83 lines
1.5 KiB
Plaintext
83 lines
1.5 KiB
Plaintext
To run these examples, change into the `scripts` directory:
|
|
|
|
----
|
|
cd scripts
|
|
----
|
|
|
|
== Start the Function Registry Service:
|
|
|
|
----
|
|
./function-registry.sh
|
|
----
|
|
|
|
== Register a Function:
|
|
|
|
----
|
|
./registerFunction.sh -n uppercase -f "f->f.map(s->s.toString().toUpperCase())"
|
|
----
|
|
|
|
== Run a REST Microservice using that Function:
|
|
|
|
----
|
|
./web.sh -f uppercase -p 9000
|
|
curl -H "Content-Type: text/plain" -H "Accept: text/plain" :9000/function -d foo
|
|
----
|
|
|
|
== Register a Supplier:
|
|
|
|
----
|
|
./registerSupplier.sh -n words -f "()->Flux.just(\"foo\",\"bar\")"
|
|
----
|
|
|
|
== Run a REST Microservice using that Supplier:
|
|
|
|
----
|
|
./web.sh -s words -p 9001
|
|
curl -H "Accept: application/json" :9001/supplier
|
|
----
|
|
|
|
== Register a Consumer:
|
|
|
|
----
|
|
./registerConsumer.sh -n print -f "System.out::println"
|
|
----
|
|
|
|
== Run a REST Microservice using that Consumer:
|
|
|
|
----
|
|
./web.sh -c print -p 9002
|
|
curl -X POST -H "Content-Type: text/plain" -d foo :9002/consumer
|
|
----
|
|
|
|
== Run Stream Processing Microservices:
|
|
|
|
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
|
|
...
|
|
----
|