= 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.

The example also demonstrates how you can configure the ActiveMQ Artemis JMS `ConnectionFactory`
via two different styles

- via `@BindToRegistry` from Java source code in the `MyConfiguration.java` source file
- via `application.properties` and the `camel-main-maven-plugin`
  that performs classpath scanning to auto-detect the JMS client and prepare for autowiring
  by generating the `META-INF/services/org/apache/camel/autowire.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

    mvn camel:run   

== More information

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