blob: f4eca3b1a7b5e14304369a2f212d3d87ce16b2c2 [file] [log] [blame]
== 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.
=== Generating tooling meta-data
The `camel-main-maven-plugin` is used for pre-scanning your project and prepare
autowiring and spring boot tooling support by classpath scanning.
You can run manually via
mvn camel-main:generate
However this example is using this plugin to generate autowiring for Apache Artemis,
which are generated in `target/classes/META-INF/services/org/apache/camel/autowire.properties`.
See also more details in `application.properties`
=== 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-main:generate 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!