== Camel Example Main Artemis

This example shows how to run Camel standalone via the built-in Main class.
The example requires a running Apache ActiveMQ Artemis broker running.

The example also demonstrates how you can configure the Camel application
via Camel built-in dependency-injection that supports binding via the
`@BindToRegistry`, `@BeanInject` and `@PropertyInject` annotations.

Also notice how you can configure Camel in the `application.properties` file.

=== How to run

First install https://activemq.apache.org/components/artemis/[Apache ActiveMQ Artemis]
and create a broker, such as `mybroker`, and create the admin user as `admin` as username
and `admin` as password:

    bin/artemis create mybroker
    cd mybroker
    bin/artemis run

Then you can run this example using

[source,sh]
----
$ mvn compile camel:run
----

=== Help and contributions

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

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

The Camel riders!
