Camel Maven Plugin
The Camel Maven Plugin allows you to run your Enterprise Integration Patterns using Spring for Dependency Injection inside Maven.
Goals Supported
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). |
Adding the plugin to your pom.xml
Add the following in your <build><plugins> section
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 (;). |
<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
.
<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.
<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>