Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This allows you to boot up any Blueprint services you wish - whether they are Camel-related, or any other Blueprint.

From Camel 2.17 onwards the camel:run goal is able to auto detect if camel-blueprint is on the classpath or there is blueprint XML files in the project, and therefore you no longer have to configure the useBlueprint option.

Info
titleUsing limited Blueprint container

We use the PojoSR project as the blueprint container. This project is not a full fledged blueprint container. For that you can use Apache Karaf or Apache ServiceMix.

In Camel 2.15.3 and later, we use Felix Connect instead. PojoSR was donated to ASF and is now maintained under Felix project.

...

You should add the CDI container of your choice (e.g. Weld or OpenWebBeans) to the dependencies of the camel-maven-plugin such as in this example.

From Camel 2.17 onwards the camel:run goal is able to auto detect if camel-cdi in on the classpath, and therefore you no longer have to configure the useCDI option.

From the source of Camel you can run a CDI example via

...

Code Block
xml
xml
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-maven-plugin</artifactId>
        <configuration>
          <logClasspath>true</logClasspath>
        </configuration>
      </plugin>    

 

Using live reload of XML files

From Camel 2.19 onwards you can configure the plugin to scan for XML file changes and trigger a reload of the Camel routes which are contained in those XML files.

Code Block
xml
xml
<plugin>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-maven-plugin</artifactId>
  <configuration>
    <fileWatcherDirectory>src/main/resources/META-INF/spring</fileWatcherDirectory>
  </configuration>
</plugin>

Then the plugin watches this directory. This allows you to edit the source code from your editor and save the file, and have the running Camel application pickup those changes.

Notice its only changes of Camel routes, eg <routes>, or <route> which is supported. You cannot change Spring or OSGi Blueprint <bean> elements.