blob: 48142c8a4ac9ca70bc1b7b378b1abdcadd8cd5f0 [file] [log] [blame] [view]
Camel Example Reload
====================
This example runs a Camel Standalone application where the routes are defined in
Camel XML files located in `src/main/resources/camel/myroutes.xml`.
At runtime you can modify this file in the source code and then Camel will automatic reload
the route on-the-fly.
The reload only applies to Camel routes, eg the `<route>` elements inside `<camelContext>`.
For changes to Spring or OSGi Blueprint `<bean>`s or Java code, then alternative reload strategies
can be used. For example Spring Boot has a live reload tool, which you can try with the `camel-example-spring-boot-live-reload` example. OSGi Blueprint can be reloaded using Karaf container where you can run the `dev:watch *` command and
then rebuild your code with `mvn install` which triggers Karaf to redeploy the bundle when the SNAPSHOT jar is updated in the local Maven repository.
### How to try
You need to build the example first with
mvn compile
Then you can run it from Maven
mvn camel:run
### Reload changes
When the example is running then try to modify the XML file such as changing the message to be `Bye World`
<transform>
<constant>Bye World</constant>
</transform>
You modify the source file directory in the `src/main/resources/camel/` directory
### Enabling live reload
Live reload is enabled in the `camel-maven-plugin` as shown below:
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<!-- turn on reload when the XML file is updated in the source code -->
<fileWatcherDirectory>src/main/resources/META-INF/spring</fileWatcherDirectory>
</configuration>
</plugin>