[id="extensions-[=artifactIdBase]"] = [=name] [#if pageAliases?? ]:page-aliases: [=pageAliases] [/#if] :linkattrs: :cq-artifact-id: camel-quarkus-[=artifactIdBase] :cq-native-supported: [=nativeSupported?then('true', 'false')] :cq-status: [=status] :cq-status-deprecation: [=statusDeprecation] :cq-description: [=description] :cq-deprecated: [=deprecated?then('true', 'false')] :cq-jvm-since: [=jvmSince] :cq-native-since: [=nativeSince] ifeval::[{doc-show-badges} == true] [.badges] [.badge-key]##JVM since##[.badge-supported]##[=jvmSince]## [.badge-key]##Native[=nativeSupported?then(' since', '')]##[.badge-[=nativeSupported?then('', 'un')]supported]##[=nativeSupported?then(nativeSince, 'unsupported')]##[#if deprecated ] [.badge-key]##⚠️##[.badge-unsupported]##Deprecated##[/#if] endif::[] [=intro] [#if models?size > 0] [id="extensions-[=artifactIdBase]-whats-inside"] == What's inside [#list models as model] * [=camelBitLink(model, models)][[=model.title][#if model.kind != "other" ] [=humanReadableKind(model.kind)][/#if]][#if model.kind == "component" ], URI syntax: `[=model.syntax]`[/#if] [/#list] Please refer to the above link[#if models?size != 1]s[/#if] for usage and configuration details. [/#if] [id="extensions-[=artifactIdBase]-maven-coordinates"] == Maven coordinates [#if !unlisted]https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-[=artifactIdBase][Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"] Or add the coordinates to your existing project: [/#if][source,xml] ---- org.apache.camel.quarkus camel-quarkus-[=artifactIdBase] ---- 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::[] [#if usage?? || usageAdvanced?? ] [id="extensions-[=artifactIdBase]-usage"] == Usage [#if usage?? ] [=usage] [/#if] [#if usageAdvanced?? ] ifeval::[{doc-show-advanced-features} == true] [=usageAdvanced] endif::[] [/#if] [/#if] [#if limitations?? ] [id="extensions-[=artifactIdBase]-camel-quarkus-limitations"] == Camel Quarkus limitations [=limitations] [/#if] [#if activatesNativeSsl ] [id="extensions-[=artifactIdBase]-ssl-in-native-mode"] == SSL in native mode This extension auto-enables SSL support in native mode. Hence you do not need to add `quarkus.ssl.native=true` to your `application.properties` yourself. See also https://quarkus.io/guides/native-and-ssl[Quarkus SSL guide]. [/#if] [#if activatesContextMapAll ] [id="extensions-[=artifactIdBase]-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. [/#if] [#if activatesTransferException ] [id="extensions-[=artifactIdBase]-transferexception-option-in-native-mode"] == transferException option in native mode To use the `transferException` option in native mode, you must enable support for object serialization. Refer to the xref:user-guide/native-mode.adoc#serialization[native mode user guide] for more information. You will also need to enable serialization for the exception classes that you intend to serialize. For example. [source,java] ---- @RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true) ---- [/#if] [#if configuration?? || quarkusAwsClient?? || configOptions?size != 0 ] [id="extensions-[=artifactIdBase]-additional-camel-quarkus-configuration"] == Additional Camel Quarkus configuration [#if configuration??] [=configuration] [/#if] [#if quarkusAwsClient??] [id="extensions-[=artifactIdBase]-optional-integration-with-[=quarkusAwsClient.extensionNameIdHeading]"] === Optional integration with [=quarkusAwsClient.extensionName] If desired, it is possible to use the [=quarkusAwsClient.extensionName] extension in conjunction with Camel Quarkus [=name]. Note that this is fully optional and not mandatory at all. Please follow the [=quarkusAwsClient.configurationUrl][Quarkus documentation] but beware of the following caveats: 1. The client type `apache` has to be selected by configuring the following property: + [source,properties] ---- [=quarkusAwsClient.configBase].sync-client.type=apache ---- 2. The `[=quarkusAwsClient.clientClassSimpleName]` has to be made "unremovable" in the sense of https://quarkus.io/guides/cdi-reference#remove_unused_beans[Quarkus CDI reference] so that Camel Quarkus is able to look it up at runtime. You can reach that e.g. by adding a dummy bean injecting `[=quarkusAwsClient.clientClassSimpleName]`: + [source,java] ---- import jakarta.enterprise.context.ApplicationScoped; import io.quarkus.arc.Unremovable; import [=quarkusAwsClient.clientClassFqName]; @ApplicationScoped @Unremovable class Unremovable[=quarkusAwsClient.clientClassSimpleName] { @Inject [=quarkusAwsClient.clientClassSimpleName] [=quarkusAwsClient.clientFieldName]; } ---- [/#if] [#if configOptions?size != 0 ] [width="100%",cols="80,5,15",options="header"] |=== | Configuration property | Type | Default [#list configOptions as configDocItem][#assign anchor = toAnchor(configDocItem.key)] |[=configDocItem.illustration] [[[=anchor]]]`link:#[=anchor][[=configDocItem.key]]` [=configDocItem.configDoc] | `[=configDocItem.type]` | [#if configDocItem.defaultValue?has_content]`[=configDocItem.defaultValue]`[#elseif ! configDocItem.optional]required icon:exclamation-circle[title=Configuration property is required][/#if] [/#list] |=== [.configuration-legend] {doc-link-icon-lock}[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime. [/#if] [/#if]