== Camel Example Main Lambda

This example demonstrates how to use `RouteBuilderConfigurer` as a way of defining Camel routes
using lambda style.

     rb -> rb.from("timer:foo").log("Hello Lambda");

The `RouteBuilderConfigurer` is a functional interface that makes defining routes with lambda style
easy. All you need to do is to create a method that returns `RouteBuilderConfigurer` and mark
the method with `@BindToRegistry` or if using Spring Boot `@Bean` or `@Produce` for CDI/Quarkus.

See the `MyConfiguration.java` in this example how this class is the configuration class and where
routes are defined.

Multiple routes can be defined by having multiple methods.

=== How to run

You can run this example using

    mvn camel:run

=== Help and contributions

If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/support.html[let us know].

We also love contributors, so
https://camel.apache.org/contributing.html[get involved] :-)

The Camel riders!
