Mustache

JVM since1.0.0 Native since1.0.0

Transform messages using a Mustache template.

What’s inside

Please refer to the above link for usage and configuration details.

Maven coordinates

Or add the coordinates to your existing project:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mustache</artifactId>
</dependency>

Check the User guide for more information about writing Camel Quarkus applications.

allowContextMapAll option in native mode

The allowContextMapAll option is not supported in native mode as it requires reflective access to security sensitive camel core classes such as CamelContext & Exchange. This is considered a security risk and thus access to the feature is not provided by default.

Additional Camel Quarkus configuration

Beyond standard usages described above, a trick is needed when using mustache templates from classpath resources in native mode. In such a situation, one needs to explicitly embed the resources in the native executable by specifying the include-patterns option.

For instance, the route below would load the mustache template from a classpath resource named template/simple.mustache:

from("direct:start").to("mustache://template/simple.mustache");

In order to work in native mode the include-patterns configuration should be set. For instance, in the application.properties file as below :

quarkus.camel.native.resources.include-patterns = template/*.mustache

More information about selecting resources for inclusion in the native executable could be found at Embedding resource in native executable.