This example shows some possible usages of the Camel reactive streams component.
The following sample routes are started together in a spring-boot application (all routes use reactor-core as external reactive framework):
-
examples.basic.camel-to-reactor: shows how data generated by Camel route can be consumed by a reactive application.
-
examples.basic.camel-to-reactor-in-out: shows how Camel data can be processed by a reactive library and return back to Camel to complete the flow.
-
examples.basic.reactor-to-camel: shows how data generated by a reactive application can be consumed by a Camel route.
-
examples.basic.reactor-to-camel-in-out: shows how data generated by a reactive application can can be processed by Camel and return back to the library to complete the flow.
-
examples.client-api.rest: shows how a rest service can be defined using the reactive streams client API only.
-
examples.client-api.workflow: shows how multiple Camel endpoints can be used into a reactive streams processing flow. It reads from an "input" named directory, filtering files containing "camel" as text as criteria before sending to an external system
-
examples.others.rest: shows how
Publisherclasses can be used as parameters or return types in beans.
All routes are enabled by default, but they can be switched off by changing the src/main/resources/application.yml file. Each route is contained in a separate Java class.
You can run this example using
mvn spring-boot:run
In some cases the camel reactor streams routes can be verified during execution of application, but we can also verify the functionality of reactor subscriptions through some defined Rest APIs.
Rest API to retrieve informations about orders:
If we call:
curl http://localhost:8080/camel/orders/3
We should receive a message "Not Found" as result of Flux Reactor coded behaviour
Rest API for reactor managed calculator:
curl http://localhost:8080/camel/sum/23/31
Let verify "54" as result
If you hit any problem using Camel or have some feedback, then please let us know.
We also love contributors, so get involved :-)
The Camel riders!