| // Do not edit directly! |
| // This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page |
| [id="extensions-language"] |
| = Language |
| :linkattrs: |
| :cq-artifact-id: camel-quarkus-language |
| :cq-native-supported: true |
| :cq-status: Stable |
| :cq-status-deprecation: Stable |
| :cq-description: Execute scripts in any of the languages supported by Camel. |
| :cq-deprecated: false |
| :cq-jvm-since: 1.1.0 |
| :cq-native-since: 2.2.0 |
| |
| ifeval::[{doc-show-badges} == true] |
| [.badges] |
| [.badge-key]##JVM since##[.badge-supported]##1.1.0## [.badge-key]##Native since##[.badge-supported]##2.2.0## |
| endif::[] |
| |
| Execute scripts in any of the languages supported by Camel. |
| |
| [id="extensions-language-whats-inside"] |
| == What's inside |
| |
| * xref:{cq-camel-components}::language-component.adoc[Language component], URI syntax: `language:languageName:resourceUri` |
| |
| Please refer to the above link for usage and configuration details. |
| |
| [id="extensions-language-maven-coordinates"] |
| == Maven coordinates |
| |
| https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-language[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-language</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-language-usage"] |
| == Usage |
| [id="extensions-language-usage-required-dependencies"] |
| === Required Dependencies |
| |
| The Language extension only handles the passing of an Exchange to a script for execution. The extension implementing the language must be added as a dependency. The following list of languages are implemented in xref:reference/extensions/core.adoc[Core]: |
| |
| * Constant |
| * ExchangeProperty |
| * File |
| * Header |
| * Ref |
| * Simple |
| * Tokenize |
| |
| To use any other language, you must add the corresponding dependency. Consult the xref:reference/languages.adoc[Languages Guide] for details. |
| |
| [id="extensions-language-usage-native-mode"] |
| === Native Mode |
| |
| When loading scripts from the classpath in native mode, the path to the script file must be specified in the `quarkus.native.resources.includes` property of the `application.properties` file. For example: |
| |
| [source] |
| ---- |
| quarkus.native.resources.includes=script.txt |
| ---- |
| |
| |
| [id="extensions-language-allowcontextmapall-option-in-native-mode"] |
| == 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. |