...
Documentation | Goal | Description | |||
---|---|---|---|---|---|
camel:run | Boots up Camel in the context of a separately initiated Java thread using the Spring configuration at META-INF/spring/*.xml and runs your routing rules. From Camel 2.10 onwards also OSGi blueprint is supported to load from OSGI-INF/blueprint/*.xml (requires to configure the plugin to use blueprint). | ||||
camel:hawtio | camel:hawtio | Camel 2.13/2.12.3: Extension to camel:run goal, to run Camel including the hawtio web console at | camel:embedded | Boots up Camel using the Spring configuration at META-INF/spring/*.xml and runs your routing rules. From Camel 2.10 onwards also OSGi blueprint is supported to load from OSGI-INF/blueprint/*.xml (requires to configure the plugin to use blueprint). | |
camel:dot | deprecated: Generates DOT files and then HTML, PNG, SVG files for your EIP routing rules with integration into Maven Reports. This plugin only supports Spring XML files. | ||||
camel:validate | camel:validate | Camel 2.19: To validate your source code for invalid Camel endpoint uris. |
Adding the plugin to your pom.xml
...
Note |
---|
You may override the default Spring application context file uri META-INF/spring/*.xml by using the applicationContextUri property in the camel-maven-plugin configuration. Paths may be split using a semi-colon (;). |
Code Block | ||
---|---|---|
| ||
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<configuration>
<applicationContextUri>META-INF/spring/*.xml;YOUR_FILE_NAME_IN_THE_CLASS_PATH.xml</applicationContextUri>
</configuration>
</plugin>
|
You can also specify what Main class to use when running the plugin. By default this is org.apache.camel.spring.Main
.
Code Block | ||
---|---|---|
| ||
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<!-- optional, default value: org.apache.camel.spring.Main -->
<configuration>
<mainClass>mypackage.boot.camel.CamelStartup</mainClass>
</configuration>
</plugin>
|
File based spring configuration files
From Camel 1.4 onwards loading Spring context files via a file location is also supported. You configure this with the fileApplicationContextUri option. Paths may be split using a semi-colon (;). This sort of file location is useful for web application projects that store spring configuration files in WEB-INF. It can also be used to replace configuration that requires an OSGi container with an equivalent non-OSGi configuration.
Code Block | ||
---|---|---|
| ||
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<configuration>
<fileApplicationContextUri>
src/main/webapp/WEB-INF/camel*.xml;
src/test/spring/test-context.xml
</fileApplicationContextUri>
</configuration>
</plugin>
|
Classpath
The plugin will construct a classpath of any Maven dependency with scope "compile". The classpath is output as an INFO log statement upon startup.
...
Code Block | ||
---|---|---|
| ||
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.logger.org.apache.camel.impl.DefaultCamelContext=DEBUG, stdout
log4j.additivity.org.apache.camel.impl.DefaultCamelContext=false
|
This should produce a log statement similar to:
Code Block |
---|
670 [org.apache.camel.spring.Main.main()] DEBUG org.apache.camel.impl.DefaultCamelContext
- Adding routes from: Routes: [Route[ [From[jms:queue:queueA]] -> [To[jms:queue:queueB], To[jms:queue:queueC]]]] routes: []
|
...
For example add the following into your pom
Code Block | ||
---|---|---|
| ||
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>
|
Then when you run
Code Block | ||
---|---|---|
| ||
mvn site
|
Your context will be booted up via the META-INF/spring/*.xml files, the DOT file generated and a nice HTML report created.
...