== Quarkiverse Freemarker and its configuration

Camel Quarkus Freemarker uses dev/index.html[Quarkiverse Freemarker] under the hood.
This means in particular, that the `freemarker.template.Configuration` bean produced by Quarkiverse Freemarker
is used by Camel Quarkus.
The bean can be configured via `quarkus.freemarker.*` properties
- check https://quarkiverse.github.io/quarkiverse-docs/quarkus-freemarker/dev/index.html[Freemarker Configuration Reference]
for more details.

If you wish to use your custom `Configuration` bean instead of the default provided by Quarkiverse Freemarker,
you can let CDI to do the required wiring:

[source,java]
----
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Produces;
import jakarta.inject.Named;
import freemarker.template.Configuration;
import io.quarkus.arc.Unremovable;
import org.apache.camel.builder.RouteBuilder;

@ApplicationScoped
public class MyRoutes extends RouteBuilder {

    @Produces
    @ApplicationScoped
    @Unremovable
    @Named("myFreemarkerConfig")
    Configuration produceFreemarkerConfig() {
        Configuration result = new Configuration();
        ...
        return result;
    }

    @Override
    public void configure() {
        from("direct:example")
            .to("freemarker:templates/email.ftl?configuration=myFreemarkerConfig")

    }
}
----
