Guice Maven Plugin
The Guice Maven Plugin allows you to run your Enterprise Integration Patterns using Guice for Dependency Injection inside Maven along with being able to support Visualisation along with integration of the Visualisation diagrams into the standard maven reports for your project.
Boots up Camel in the context of a separately initiated Java thread using the Guice configuration in the jndi.properties file on the classpath and runs your routing rules
Boots up Camel using the Guice configuration at jndi.properties on the classpath and runs your routing rules
Generates DOT files and then HTML, PNG, SVG files for your EIP routing rules with integration into Maven Reports
Adding the plugin to your pom.xml
Add the following in your <build><plugins> section
You can also specify what Main class to use when running the plugin. By default this is org.apache.camel.guice.Main.
Making use of an optional JNDI properties file
Available as of Camel 2.13.0
Optionally if the name of your JNDI properties file is something else other than the default
jndi.properties or if it's not on the default classpath, then you can make use of the
jndiProperties option as shown below:
The plugin will construct a classpath of any Maven dependency with scope "compile". The classpath is output as an INFO log statement upon startup.
Information about the generated routes is available through the GraphViz report, and also through the log statements generated by the run goal. If you would like to see this information then add a log4j (or other commons-logging implementation) config file with the following levels.
This should produce a log statement similar to:
Integration into Maven Reports
If you add the guice-maven-plugin to your <reporting> section of your pom you will automatically get the Visualisation reporting generated for your project as part of the regular maven site generation.
For example add the following into your pom
Then when you run
Your context will be booted up via the jndi.properties files, the DOT file generated and a nice HTML report created.