# Camel Example Reactive Streams

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.
- **examples.others.rest**: shows how `Publisher` classes 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.

## How to run

You can run this example using

    mvn spring-boot:run

## More information

You can find more information about Apache Camel at the website: http://camel.apache.org/
