// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
[id="extensions-csimple"]
= CSimple
:linkattrs:
:cq-artifact-id: camel-quarkus-csimple
:cq-native-supported: true
:cq-status: Preview
:cq-status-deprecation: Preview
:cq-description: Compiled Simple language
:cq-deprecated: false
:cq-jvm-since: 1.5.0
:cq-native-since: 1.5.0

ifeval::[{doc-show-badges} == true]
[.badges]
[.badge-key]##JVM since##[.badge-supported]##1.5.0## [.badge-key]##Native since##[.badge-supported]##1.5.0##
endif::[]

Compiled Simple language

[id="extensions-csimple-whats-inside"]
== What's inside

* xref:{cq-camel-components}:languages:csimple-language.adoc[CSimple language]

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

[id="extensions-csimple-maven-coordinates"]
== Maven coordinates

https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-csimple[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-csimple</artifactId>
</dependency>
----
ifeval::[{doc-show-user-guide-link} == true]
Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
endif::[]

[id="extensions-csimple-camel-quarkus-limitations"]
== Camel Quarkus limitations

CSimple language is supported only in

* XML DSL
* Java DSL when implemented in a class extending `org.apache.camel.builder.RouteBuilder`

The compilation of CSimple scripts happens at build time. To be able to discover the scripts in the route definitions,
those definitions need to get assembled at build time. When extending
`org.apache.camel.builder.RouteBuilder`, this basically means instantiating your `RouteBuilder`, setting
a fake `CamelContext` instance on it and calling its `configure()` method. It may fail if your `configure()`
method attempts to access some resource that is only available at runtime.

You can use the `quarkus.camel.csimple.on-build-time-analysis-failure` configuration parameter to decide
what should happen in such cases. Possible values are `warn` (default), `fail` or `ignore`.

[WARNING]
====
CSimple language will not work on Camel Quarkus if used in a `org.apache.camel.builder.LambdaRouteBuilder`
====


