Este conteúdo não está disponível no idioma selecionado.
Camel Extensions for Quarkus Reference
Camel Extensions for Quarkus provided by Red Hat
Abstract
Preface Copiar o linkLink copiado para a área de transferência!
Making open source more inclusive
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. Extensions overview Copiar o linkLink copiado para a área de transferência!
1.1. Support level definitions Copiar o linkLink copiado para a área de transferência!
New features, services, and components go through a number of support levels before inclusion in Camel Extensions for Quarkus as fully supported for production use. This is to ensure the right balance between providing the enterprise stability expected of our offerings with the need to allow our customers and partners to experiment with new Camel Extensions for Quarkus technologies while providing feedback to help guide future development activities.
| Type | Description | 
|---|---|
|   Community Support  |   As part of Red Hat’s commitment to upstream first, integration of new extensions into our Camel Extensions for Quarkus distribution begins in the upstream community. While these extensions have been tested and documented upstream, we have not reviewed the maturity of these extensions and they may not be formally supported by Red Hat in future product releases. Note Community extensions are listed on the extensions reference page of the Camel Quarkus community project.  | 
|   Technology Preview  |   Technology Preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. However, these features are not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use. As Red Hat considers making future iterations of Technology Preview features generally available, we will attempt to resolve any issues that customers experience when using these features.  | 
|   Production Support  |   Production Support extensions are shipped in a formal Red Hat release and are fully supported. There are no documentation gaps and extensions have been tested on all supported configurations.  | 
1.2. Supported extensions Copiar o linkLink copiado para a área de transferência!
There are 60 extensions.
| Extension | Artifact | JVM Support Level | Native Support Level | Description | 
|---|---|---|---|---|
|   AMQP  |   Production Support  |   Production Support  |   Messaging with AMQP protocol using Apache QPid Client.  | |
|   Attachments  |   Production Support  |   Production Support  |   Support for attachments on Camel messages.  | |
|   AWS 2 DynamoDB  |   Production Support  |   Production Support  |   Store and retrieve data from AWS DynamoDB service or receive messages from AWS DynamoDB Stream using AWS SDK version 2.x.  | |
|   AWS 2 Kinesis  |   Production Support  |   Production Support  |   Consume and produce records from AWS Kinesis Streams using AWS SDK version 2.x.  | |
|   AWS 2 Lambda  |   Production Support  |   Production Support  |   Manage and invoke AWS Lambda functions using AWS SDK version 2.x.  | |
|   AWS 2 S3 Storage Service  |   Production Support  |   Production Support  |   Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.  | |
|   AWS 2 Simple Notification System (SNS)  |   Production Support  |   Production Support  |   Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.  | |
|   AWS 2 Simple Queue Service (SQS)  |   Production Support  |   Production Support  |   Sending and receive messages to/from AWS SQS service using AWS SDK version 2.x.  | |
|   Azure Storage Blob  |   Technology Preview  |   Technology Preview  |   Store and retrieve blobs from Azure Storage Blob Service using SDK v12.  | |
|   Azure Storage Queue  |   Technology Preview  |   Technology Preview  |   The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.  | |
|   Bean  |   Production Support  |   Production Support  |   Invoke methods of Java beans  | |
|   Bean Validator  |   Production Support  |   Production Support  |   Validate the message body using the Java Bean Validation API.  | |
|   Browse  |   Production Support  |   Production Support  |   Inspect the messages received on endpoints supporting BrowsableEndpoint.  | |
|   Cassandra CQL  |   Production Support  |   Production Support  |   Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.  | |
|   Core  |   Production Support  |   Production Support  |   Camel core functionality and basic Camel languages: Constant, ExchangeProperty, Header, Ref, Ref, Simple and Tokeinze  | |
|   Cron  |   Production Support  |   Production Support  |   A generic interface for triggering events at times specified through the Unix cron syntax.  | |
|   CXF  |   Production Support  |   Production Support  |   Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.  | |
|   Dataformat  |   Production Support  |   Production Support  |   Use a Camel Data Format as a regular Camel Component.  | |
|   Direct  |   Production Support  |   Production Support  |   Call another endpoint from the same Camel Context synchronously.  | |
|   FHIR  |   Production Support  |   Production Support  |   Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard.  | |
|   File  |   Production Support  |   Production Support  |   Read and write files.  | |
|   FTP  |   Production Support  |   Production Support  |   Upload and download files to/from FTP or SFTP servers.  | |
|   Google BigQuery  |   Production Support  |   Production Support  |   Google BigQuery data warehouse for analytics.  | |
|   Google Pubsub  |   Production Support  |   Production Support  |   Send and receive messages to/from Google Cloud Platform PubSub Service.  | |
|   HTTP  |   Production Support  |   Production Support  |   Send requests to external HTTP servers using Apache HTTP Client 4.x.  | |
|   Infinispan  |   Production Support  |   Production Support  |   Read and write from/to Infinispan distributed key/value store and data grid.  | |
|   JDBC  |   Production Support  |   Production Support  |   Access databases through SQL and JDBC.  | |
|   Jira  |   Production Support  |   Production Support  |   Interact with JIRA issue tracker.  | |
|   JMS  |   Production Support  |   Production Support  |   Send and receive messages to/from a JMS Queue or Topic.  | |
|   JPA  |   Production Support  |   Production Support  |   Store and retrieve Java objects from databases using Java Persistence API (JPA).  | |
|   JTA  |   Production Support  |   Production Support  |   Enclose Camel routes in the transactions using Java Transaction API (JTA) and Narayana transaction manager  | |
|   Kafka  |   Production Support  |   Production Support  |   Sent and receive messages to/from an Apache Kafka broker.  | |
|   Kamelet  |   Production Support  |   Production Support  |   The Kamelet Component provides support for interacting with the Camel Route Template engine.  | |
|   Kubernetes  |   Technology Preview  |   Technology Preview  |   Perform operations against Kubernetes API  | |
|   Log  |   Production Support  |   Production Support  |   Log messages to the underlying logging mechanism.  | |
|   |   Production Support  |   Production Support  |   Send and receive emails using imap, pop3 and smtp protocols.  | |
|   MicroProfile Fault Tolerance  |   Production Support  |   Production Support  |   Circuit Breaker EIP using MicroProfile Fault Tolerance.  | |
|   MicroProfile Health  |   Production Support  |   Production Support  |   Bridging Eclipse MicroProfile Health with Camel health checks.  | |
|   MicroProfile Metrics  |   Production Support  |   Production Support  |   Expose metrics from Camel routes.  | |
|   MLLP  |   Production Support  |   Production Support  |   Communicate with external systems using the MLLP protocol.  | |
|   Mock  |   Production Support  |   Production Support  |   Test routes and mediation rules using mocks.  | |
|   MongoDB  |   Technology Preview  |   Technology Preview  |   Perform operations on MongoDB documents and collections.  | |
|   Netty  |   Production Support  |   Production Support  |   Socket level networking using TCP or UDP with the Netty 4.x.  | |
|   OpenAPI Java  |   Production Support  |   Production Support  |   Rest-dsl support for using OpenAPI doc  | |
|   Paho  |   Production Support  |   Production Support  |   Communicate with MQTT message brokers using Eclipse Paho MQTT Client.  | |
|   Paho MQTT 5  |   Production Support  |   Production Support  |   Communicate with MQTT message brokers using Eclipse Paho MQTT v5 Client.  | |
|   Platform HTTP  |   Production Support  |   Production Support  |   Expose HTTP endpoints using the HTTP server available in the current platform.  | |
|   Quartz  |   Production Support  |   Production Support  |   Schedule sending of messages using the Quartz 2.x scheduler.  | |
|   Rest  |   Production Support  |   Production Support  |   Expose REST services and their OpenAPI Specification or call external REST services.  | |
|   REST OpenApi  |   Production Support  |   Production Support  |   Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.  | |
|   Salesforce  |   Production Support  |   Production Support  |   Communicate with Salesforce using Java DTOs.  | |
|   SEDA  |   Production Support  |   Production Support  |   Asynchronously call another endpoint from any Camel Context in the same JVM.  | |
|   Slack  |   Technology Preview  |   Technology Preview  |   Send and receive messages to/from Slack.  | |
|   SNMP  |   Production Support (See the Release Notes for information about limitations.)  |   Technology Preview  |   Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.  | |
|   SQL  |   Production Support  |   Production Support  |   Perform SQL queries using Spring JDBC.  | |
|   Telegram  |   Technology Preview  |   Technology Preview  |   Send and receive messages acting as a Telegram Bot API.  | |
|   Timer  |   Production Support  |   Production Support  |   Generate messages in specified intervals using java.util.Timer.  | |
|   Validator  |   Production Support  |   Production Support  |   Validate the payload using XML Schema and JAXP Validation.  | |
|   Vert.x HTTP Client  |   Production Support  |   Production Support  |   Send requests to external HTTP servers using Vert.x  | |
|   XQuery  |   Production Support  |   Production Support  |   Query and/or transform XML payloads using XQuery and Saxon.  | |
|   Zip File  |   Production Support  |   Production Support  |   Generate messages in specified intervals using java.util.Timer.  | 
1.3. Supported data formats Copiar o linkLink copiado para a área de transferência!
There are 10 data formats.
| Extension | Artifact | JVM Support Level | Native Support Level | Description | 
|---|---|---|---|---|
|   Avro  |   Production Support  |   Production Support  |   Serialize and deserialize messages using Apache Avro binary data format.  | |
|   Avro Jackson  |   Production Support  |   Production Support  |   Marshal POJOs to Avro and back using Jackson.  | |
|   Bindy  |   Production Support  |   Production Support  |   Marshal and unmarshal between POJOs and Comma separated values (CSV) format using Camel Bindy Marshal and unmarshal between POJOs and fixed field length format using Camel Bindy Marshal and unmarshal between POJOs and key-value pair (KVP) format using Camel Bindy  | |
|   HL7  |   Production Support  |   Production Support  |   Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.  | |
|   Jackson  |   Production Support  |   Production Support  |   Marshal POJOs to JSON and back using Jackson  | |
|   JacksonXML  |   Production Support  |   Production Support  |   Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson.  | |
|   JAXB  |   Production Support  |   Production Support  |   Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.  | |
|   JSON Gson  |   Production Support  |   Production Support  |   Marshal POJOs to JSON and back using Gson.  | |
|   Protobuf Jackson  |   Production Support  |   Production Support  |   Marshal POJOs to Protobuf and back using Jackson.  | |
|   SOAP dataformat  |   Production Support  |   Production Support  |   Marshal Java objects to SOAP messages and back.  | 
1.4. Supported languages Copiar o linkLink copiado para a área de transferência!
There are 12 languages.
| Extension | Artifact | JVM Support Level | Native Support Level | Description | 
|---|---|---|---|---|
|   Bean method  |   Production Support  |   Production Support  |   Invoke methods of Java beans  | |
|   Constant  |   Production Support  |   Production Support  |   A fixed value set only once during the route startup.  | |
|   ExchangeProperty  |   Production Support  |   Production Support  |   Get the value of named Camel Exchange property.  | |
|   File  |   Production Support  |   Production Support  |   For expressions and predicates using the file/simple language.  | |
|   Header  |   Production Support  |   Production Support  |   Get the value of the named Camel Message header.  | |
|   HL7 Terser  |   Production Support  |   Production Support  |   Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.  | |
|   JSON Path  |   Production Support  |   Production Support  |   Evaluate a JsonPath expression against a JSON message body.  | |
|   Ref  |   Production Support  |   Production Support  |   Look up an expression in the Camel Registry and evaluate it.  | |
|   Simple  |   Production Support  |   Production Support  |   Evaluate Camel’s built-in Simple language expression against the Camel Exchange.  | |
|   Tokenize  |   Production Support  |   Production Support  |   Tokenize text payloads using the specified delimiter patterns.  | |
|   XPath  |   Production Support  |   Production Support  |   Evaluate an XPath expression against an XML payload.  | |
|   XQuery  |   Production Support  |   Production Support  |   Query and/or transform XML payloads using XQuery and Saxon.  | 
1.5. Miscellaneous extensions Copiar o linkLink copiado para a área de transferência!
There are 3 miscellaneous extensions.
| Extension | Artifact | JVM Support Level | Native Support Level | Description | 
|---|---|---|---|---|
|   OpenTelemetry  |   Technology Preview  |   Technology Preview  |   Distributed tracing using OpenTelemetry  | |
|   YAML DSL  |   Production Support  |   Production Support  |   A YAML stack for parsing YAML route definitions  | |
|   XML DSL  |   Production Support  |   Production Support  |   Camel XML DSL with camel-xml-io.  | 
Chapter 2. Extensions reference Copiar o linkLink copiado para a área de transferência!
This chapter provides reference information about Camel Extensions for Quarkus.
2.1. AMQP Copiar o linkLink copiado para a área de transferência!
Messaging with AMQP protocol using Apache QPid Client.
2.1.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AMQP component, URI syntax: 
amqp:destinationType:destinationName 
Please refer to the above link for usage and configuration details.
2.1.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-amqp</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-amqp</artifactId>
</dependency>
2.1.3. Usage Copiar o linkLink copiado para a área de transferência!
2.1.3.1. Message mapping with org.w3c.dom.Node Copiar o linkLink copiado para a área de transferência!
						The Camel AMQP component supports message mapping between javax.jms.Message and org.apache.camel.Message. When wanting to convert a Camel message body type of org.w3c.dom.Node, you must ensure that the camel-quarkus-jaxp extension is present on the classpath.
					
2.1.3.2. Native mode support for javax.jms.ObjectMessage Copiar o linkLink copiado para a área de transferência!
						When sending JMS message payloads as javax.jms.ObjectMessage, you must annotate the relevant classes to be registered for serialization with @RegisterForReflection(serialization = true). Note that this extension automatically sets quarkus.camel.native.reflection.serialization-enabled = true for you. Refer to the native mode user guide for more information.
					
2.1.4. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
2.1.4.1. Connection Pooling Copiar o linkLink copiado para a área de transferência!
JMS connection pooling isn’t supported yet since there is still an open issue with quarkus-qpid-jms.
2.1.5. transferException option in native mode Copiar o linkLink copiado para a área de transferência!
					To use the transferException option in native mode, you must enable support for object serialization. Refer to the 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.
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
2.1.6. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
The extension leverages the Quarkus Qpid JMS extension. A ConnectionFactory bean is automatically created and wired into the AMQP component for you. The connection factory can be configured via the Quarkus Qpid JMS configuration options.
2.2. Attachments Copiar o linkLink copiado para a área de transferência!
Support for attachments on Camel messages
2.2.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.2.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-attachments</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-attachments</artifactId>
</dependency>
2.3. Avro Copiar o linkLink copiado para a área de transferência!
Serialize and deserialize messages using Apache Avro binary data format.
2.3.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.3.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-avro</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-avro</artifactId>
</dependency>
2.3.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
Beyond standard usages known from vanilla Camel, Camel Quarkus adds the possibility to parse the Avro schema at build time both in JVM and Native mode.
					The approach to generate Avro classes from Avro schema files is the one coined by the quarkus-avro extension. It requires the following:
				
- 
							Store 
*.avscfiles in a folder namedsrc/main/avroorsrc/test/avro In addition to the usual
buildgoal ofquarkus-maven-plugin, add thegenerate-codegoal:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
Please see a working configuration in Camel Quarkus Avro integration test and Quarkus Avro integration test.
2.4. AWS 2 DynamoDB Copiar o linkLink copiado para a área de transferência!
Store and retrieve data from AWS DynamoDB service or receive messages from AWS DynamoDB Stream using AWS SDK version 2.x.
2.4.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS DynamoDB component, URI syntax: 
aws2-ddb:tableName - 
							AWS DynamoDB Streams component, URI syntax: 
aws2-ddbstream:tableName 
Please refer to the above links for usage and configuration details.
2.4.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-ddb</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-ddb</artifactId>
</dependency>
2.4.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.4.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.4.4.1. Optional integration with Quarkus Amazon DynamoDB Copiar o linkLink copiado para a área de transferência!
If desired, it is possible to use the Quarkus Amazon DynamoDB extension in conjunction with Camel Quarkus AWS 2 DynamoDB. Note that this is fully optional and not mandatory at all. Please follow the Quarkus documentation but beware of the following caveats:
The client type
apachehas to be selected by configuring the following property:quarkus.dynamodb.sync-client.type=apache
quarkus.dynamodb.sync-client.type=apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow The
DynamoDbClienthas to be made "unremovable" in the sense of 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 injectingDynamoDbClient:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.5. AWS 2 Kinesis Copiar o linkLink copiado para a área de transferência!
Consume and produce records from AWS Kinesis Streams using AWS SDK version 2.x.
2.5.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS Kinesis component, URI syntax: 
aws2-kinesis:streamName - 
							AWS Kinesis Firehose component, URI syntax: 
aws2-kinesis-firehose:streamName 
Please refer to the above links for usage and configuration details.
2.5.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-kinesis</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-kinesis</artifactId>
</dependency>
2.5.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.6. AWS 2 Lambda Copiar o linkLink copiado para a área de transferência!
Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
2.6.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS Lambda component, URI syntax: 
aws2-lambda:function 
Please refer to the above link for usage and configuration details.
2.6.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-lambda</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-lambda</artifactId>
</dependency>
2.6.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.6.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.6.4.1. Not possible to leverage quarkus-amazon-lambda by Camel aws2-lambda extension Copiar o linkLink copiado para a área de transferência!
						Quarkus-amazon-lambda extension allows you to use Quarkus to build your AWS Lambdas, whereas Camel component manages (deploy, undeploy, …) existing functions. Therefore, it is not possible to use quarkus-amazon-lambda as a client for Camel aws2-lambda extension.
					
2.7. AWS 2 S3 Storage Service Copiar o linkLink copiado para a área de transferência!
Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
2.7.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS S3 Storage Service component, URI syntax: 
aws2-s3://bucketNameOrArn 
Please refer to the above link for usage and configuration details.
2.7.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-s3</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-s3</artifactId>
</dependency>
2.7.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.7.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.7.4.1. Optional integration with Quarkus Amazon S3 Copiar o linkLink copiado para a área de transferência!
If desired, it is possible to use the Quarkus Amazon S3 extension in conjunction with Camel Quarkus AWS 2 S3 Storage Service. Note that this is fully optional and not mandatory at all. Please follow the Quarkus documentation but beware of the following caveats:
The client type
apachehas to be selected by configuring the following property:quarkus.s3.sync-client.type=apache
quarkus.s3.sync-client.type=apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow The
S3Clienthas to be made "unremovable" in the sense of 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 injectingS3Client:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.8. AWS 2 Simple Notification System (SNS) Copiar o linkLink copiado para a área de transferência!
Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.
2.8.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS Simple Notification System (SNS) component, URI syntax: 
aws2-sns:topicNameOrArn 
Please refer to the above link for usage and configuration details.
2.8.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-sns</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-sns</artifactId>
</dependency>
2.8.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.8.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.8.4.1. Optional integration with Quarkus Amazon SNS Copiar o linkLink copiado para a área de transferência!
If desired, it is possible to use the Quarkus Amazon SNS extension in conjunction with Camel Quarkus AWS 2 Simple Notification System (SNS). Note that this is fully optional and not mandatory at all. Please follow the Quarkus documentation but beware of the following caveats:
The client type
apachehas to be selected by configuring the following property:quarkus.sns.sync-client.type=apache
quarkus.sns.sync-client.type=apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow The
SnsClienthas to be made "unremovable" in the sense of 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 injectingSnsClient:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.9. AWS 2 Simple Queue Service (SQS) Copiar o linkLink copiado para a área de transferência!
Send and receive messages to/from AWS SQS service using AWS SDK version 2.x.
2.9.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							AWS Simple Queue Service (SQS) component, URI syntax: 
aws2-sqs:queueNameOrArn 
Please refer to the above link for usage and configuration details.
2.9.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-sqs</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-sqs</artifactId>
</dependency>
2.9.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.9.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.9.4.1. Optional integration with Quarkus Amazon SQS Copiar o linkLink copiado para a área de transferência!
If desired, it is possible to use the Quarkus Amazon SQS extension in conjunction with Camel Quarkus AWS 2 Simple Queue Service (SQS). Note that this is fully optional and not mandatory at all. Please follow the Quarkus documentation but beware of the following caveats:
The client type
apachehas to be selected by configuring the following property:quarkus.sqs.sync-client.type=apache
quarkus.sqs.sync-client.type=apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow The
SqsClienthas to be made "unremovable" in the sense of 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 injectingSqsClient:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.10. Azure Storage Blob Service Copiar o linkLink copiado para a área de transferência!
Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
2.10.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Azure Storage Blob Service component, URI syntax: 
azure-storage-blob:accountName/containerName 
Please refer to the above link for usage and configuration details.
2.10.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-azure-storage-blob</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-azure-storage-blob</artifactId>
</dependency>
2.10.3. Usage Copiar o linkLink copiado para a área de transferência!
2.10.3.1. Micrometer metrics support Copiar o linkLink copiado para a área de transferência!
						If you wish to enable the collection of Micrometer metrics for the Reactor Netty transports, then you should declare a dependency on quarkus-micrometer to ensure that they are available via the Quarkus metrics HTTP endpoint.
					
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-micrometer</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-micrometer</artifactId>
</dependency>
2.10.4. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.11. Azure Storage Queue Service Copiar o linkLink copiado para a área de transferência!
The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.
2.11.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Azure Storage Queue Service component, URI syntax: 
azure-storage-queue:accountName/queueName 
Please refer to the above link for usage and configuration details.
2.11.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-azure-storage-queue</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-azure-storage-queue</artifactId>
</dependency>
2.11.3. Usage Copiar o linkLink copiado para a área de transferência!
2.11.3.1. Micrometer metrics support Copiar o linkLink copiado para a área de transferência!
						If you wish to enable the collection of Micrometer metrics for the Reactor Netty transports, then you should declare a dependency on quarkus-micrometer to ensure that they are available via the Quarkus metrics HTTP endpoint.
					
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-micrometer</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-micrometer</artifactId>
</dependency>
2.11.4. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.12. Bean Validator Copiar o linkLink copiado para a área de transferência!
Validate the message body using the Java Bean Validation API.
2.12.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Bean Validator component, URI syntax: 
bean-validator:label 
Please refer to the above link for usage and configuration details.
2.12.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean-validator</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean-validator</artifactId>
</dependency>
2.12.3. Usage Copiar o linkLink copiado para a área de transferência!
2.12.3.1. Configuring the ValidatorFactory Copiar o linkLink copiado para a área de transferência!
Implementation of this extension leverages the Quarkus Hibernate Validator extension.
						Therefore it is not possible to configure the ValidatorFactory by Camel’s properties (constraintValidatorFactory, messageInterpolator, traversableResolver, validationProviderResolver and validatorFactory).
					
						You can configure the ValidatorFactory by the creation of beans which will be injected into the default ValidatorFactory (created by Quarkus). See the Quarkus CDI documentation for more information.
					
2.12.3.2. Custom validation groups in native mode Copiar o linkLink copiado para a área de transferência!
When using custom validation groups in native mode, all the interfaces need to be registered for reflection (see the documentation).
Example:
@RegisterForReflection
public interface OptionalChecks {
}
@RegisterForReflection
public interface OptionalChecks {
}
2.12.4. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
It is not possible to describe your constraints as XML (by providing the file META-INF/validation.xml), only Java annotations are supported. This is caused by the limitation of the Quarkus Hibernate Validator extension (see the issue).
2.13. Bean Copiar o linkLink copiado para a área de transferência!
Invoke methods of Java beans
2.13.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Bean component, URI syntax: 
bean:beanName - Bean Method language
 - 
							Class component, URI syntax: 
class:beanName 
Please refer to the above links for usage and configuration details.
2.13.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean</artifactId>
</dependency>
2.13.3. Usage Copiar o linkLink copiado para a área de transferência!
Except for invoking methods of beans available in Camel registry, Bean component and Bean method language can also invoke Quarkus CDI beans.
2.14. Bindy Copiar o linkLink copiado para a área de transferência!
Marshal and unmarshal between POJOs on one side and Comma separated values (CSV), fixed field length or key-value pair (KVP) formats on the other side using Camel Bindy
2.14.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above links for usage and configuration details.
2.14.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bindy</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bindy</artifactId>
</dependency>
2.14.3. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
When using camel-quarkus-bindy in native mode, only the build machine’s locale is supported.
For instance, on build machines with french locale, the code below:
BindyDataFormat dataFormat = new BindyDataFormat();
dataFormat.setLocale("ar");
BindyDataFormat dataFormat = new BindyDataFormat();
dataFormat.setLocale("ar");
formats numbers the arabic way in JVM mode as expected. However, it formats numbers the french way in native mode.
Without further tuning, the build machine’s default locale would be used. Another locale could be specified with the quarkus.native.user-language and quarkus.native.user-country configuration properties.
2.15. Browse Copiar o linkLink copiado para a área de transferência!
Inspect the messages received on endpoints supporting BrowsableEndpoint.
2.15.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Browse component, URI syntax: 
browse:name 
Please refer to the above link for usage and configuration details.
2.15.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-browse</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-browse</artifactId>
</dependency>
2.16. Cassandra CQL Copiar o linkLink copiado para a área de transferência!
Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
2.16.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Cassandra CQL component, URI syntax: 
cql:beanRef:hosts:port/keyspace 
Please refer to the above link for usage and configuration details.
2.16.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cassandraql</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cassandraql</artifactId>
</dependency>
2.16.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.16.3.1. Cassandra aggregation repository in native mode Copiar o linkLink copiado para a área de transferência!
						In order to use Cassandra aggregation repositories like CassandraAggregationRepository in native mode, you must enable native serialization support.
					
						In addition, if your exchange bodies are custom types, then they must be registered for serialization by annotating their class declaration with @RegisterForReflection(serialization = true).
					
2.17. Control Bus Copiar o linkLink copiado para a área de transferência!
Manage and monitor Camel routes.
2.17.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Control Bus component, URI syntax: 
controlbus:command:language 
Please refer to the above link for usage and configuration details.
2.17.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-controlbus</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-controlbus</artifactId>
</dependency>
2.17.3. Usage Copiar o linkLink copiado para a área de transferência!
2.17.3.1. Statistics Copiar o linkLink copiado para a área de transferência!
						When using the stats command endpoint, the camel-quarkus-management extension must be added as a project dependency to enable JMX. Maven users will have to add the following to their pom.xml:
					
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-management</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-management</artifactId>
</dependency>
2.17.3.2. Languages Copiar o linkLink copiado para a área de transferência!
The following languages are supported for use in the Control Bus extension in Camel Extensions for Quarkus:
2.17.3.2.1. Bean Copiar o linkLink copiado para a área de transferência!
							The Bean language can be used to invoke a method on a bean to control the state of routes. The org.apache.camel.quarkus:camel-quarkus-bean extension must be added to the classpath. Maven users must add the following dependency to the POM:
						
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-bean</artifactId>
</dependency>
							In native mode, the bean class must be annotated with @RegisterForReflection.
						
2.17.3.2.2. Simple Copiar o linkLink copiado para a área de transferência!
							The Simple language can be used to control the state of routes. The following example uses a ProducerTemplate to stop a route with the id foo:
						
template.sendBody(
    "controlbus:language:simple",
    "${camelContext.getRouteController().stopRoute('foo')}"
);
template.sendBody(
    "controlbus:language:simple",
    "${camelContext.getRouteController().stopRoute('foo')}"
);
							To use the OGNL notation, the org.apache.camel.quarkus:camel-quarkus-bean extension must be added as a dependency.
						
							In native mode, the classes used in the OGNL notation must be registered for reflection. In the above code snippet, the org.apache.camel.spi.RouteController class returned from camelContext.getRouteController() must be registered. As this is a third-party class, it cannot be annotated with @RegisterForReflection directly - instead you can annotate a different class and specifying the target classes to register. For example, the class defining the Camel routes could be annotated with @RegisterForReflection(targets = { org.apache.camel.spi.RouteController.class }).
						
							Alternatively, add the following line to your src/main/resources/application.properties:
						
quarkus.camel.native.reflection.include-patterns = org.apache.camel.spi.RouteController
quarkus.camel.native.reflection.include-patterns = org.apache.camel.spi.RouteController
2.17.4. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
2.17.4.1. Statistics Copiar o linkLink copiado para a área de transferência!
						The stats action is not available in native mode as JMX is not supported on GraalVM. Therefore, attempting to build a native image with the camel-quarkus-management extension on the classpath will result in a build failure.
					
This feature is not supported in Camel Extensions for Quarkus.
2.18. Core Copiar o linkLink copiado para a área de transferência!
Camel core functionality and basic Camel languages/ Constant, ExchangeProperty, Header, Ref, Simple and Tokenize
2.18.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above links for usage and configuration details.
2.18.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-core</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-core</artifactId>
</dependency>
2.18.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.18.3.1. Simple language Copiar o linkLink copiado para a área de transferência!
2.18.3.1.1. Using the OGNL notation Copiar o linkLink copiado para a área de transferência!
							When using the OGNL notation from the simple language, the camel-quarkus-bean extension should be used.
						
							For instance, the simple expression below is accessing the getAddress() method on the message body of type Client.
						
---
simple("${body.address}")
---
---
simple("${body.address}")
---
							In such a situation, one should take an additional dependency on the camel-quarkus-bean extension as described here. Note that in native mode, some classes may need to be registered for reflection. In the example above, the Client class needs to be registered for reflection.
						
2.18.3.1.2. Using dynamic type resolution in native mode Copiar o linkLink copiado para a área de transferência!
When dynamically resolving a type from simple expressions like:
- 
									
simple("${mandatoryBodyAs(TYPE)}") - 
									
simple("${type:package.Enum.CONSTANT}") - 
									
from("…").split(bodyAs(TYPE.class)) - 
									
simple("${body} is TYPE") 
It may be needed to register some classes for reflection manually.
							For instance, the simple expression below is dynamically resolving the type java.nio.ByteBuffer at runtime:
						
---
simple("${body} is 'java.nio.ByteBuffer'")
---
---
simple("${body} is 'java.nio.ByteBuffer'")
---
							As such, the class java.nio.ByteBuffer needs to be registered for reflection.
						
2.18.3.1.3. Using the simple language with classpath resources in native mode Copiar o linkLink copiado para a área de transferência!
If your route is supposed to load a Simple script from classpath, like in the following example
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
from("direct:start").transform().simple("resource:classpath:mysimple.txt");
							then you need to use Quarkus quarkus.native.resources.includes property to include the resource in the native executable as demonstrated below:
						
quarkus.native.resources.includes = mysimple.txt
quarkus.native.resources.includes = mysimple.txt
2.18.3.1.4. Configuring a custom bean via properties in native mode Copiar o linkLink copiado para a área de transferência!
							When specifying a custom bean via properties in native mode with configuration like #class:* or #type:*, it may be needed to register some classes for reflection manually.
						
For instance, the custom bean definition below involves the use of reflection for bean instantiation and setter invocation:
--- camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection camel.beans.customBeanWithSetterInjection.counter = 123 ---
---
camel.beans.customBeanWithSetterInjection = #class:org.example.PropertiesCustomBeanWithSetterInjection
camel.beans.customBeanWithSetterInjection.counter = 123
---
							As such, the class PropertiesCustomBeanWithSetterInjection needs to be registered for reflection, note that field access could be omitted in this case.
						
| Configuration property | Type | Default | 
|---|---|---|
|   
											 
											When set to true, the   |   
											  |   
											  | 
|   
											 
											A comma-separated list of Ant-path style patterns to match Camel service definition files in the classpath. The services defined in the matching files will not be discoverable via the   |   
											  | |
|   
											 
											A comma-separated list of Ant-path style patterns to match Camel service definition files in the classpath. The services defined in the matching files will be discoverable via the   |   
											  | |
|   
											 
											A comma-separated list of Ant-path style patterns to match Camel service definition files in the classpath. The services defined in the matching files will not be added to Camel registry during application’s static initialization. The excludes have higher precedence than includes. The excludes defined here can also be used to veto the registration of services included by Camel Quarkus extensions. Example values:   |   
											  | |
|   
											 
											A comma-separated list of Ant-path style patterns to match Camel service definition files in the classpath. The services defined in the matching files will be added to Camel registry during application’s static initialization unless the given file is excluded via   |   
											  | |
|   
											 
											If   |   
											  |   
											  | 
|   
											 
											If   |   
											  |   
											  | 
|   
											 
											If   |   
											  |   
											  | 
|   
											 
											If   |   
											  |   
											  | 
|   
											 Enable automatic discovery of routes during static initialization.  |   
											  |   
											  | 
|   
											 Used for exclusive filtering scanning of RouteBuilder classes. The exclusive filtering takes precedence over inclusive filtering. The pattern is using Ant-path style pattern. Multiple patterns can be specified separated by comma. For example to exclude all classes starting with Bar use: **/Bar* To exclude all routes form a specific package use: com/mycompany/bar/* To exclude all routes form a specific package and its sub-packages use double wildcards: com/mycompany/bar/** And to exclude all routes from two specific packages use: com/mycompany/bar/*,com/mycompany/stuff/*  |   
											  | |
|   
											 Used for inclusive filtering scanning of RouteBuilder classes. The exclusive filtering takes precedence over inclusive filtering. The pattern is using Ant-path style pattern. Multiple patterns can be specified separated by comma. For example to include all classes starting with Foo use: **/Foo* To include all routes form a specific package use: com/mycompany/foo/* To include all routes form a specific package and its sub-packages use double wildcards: com/mycompany/foo/** And to include all routes from two specific packages use: com/mycompany/foo/*,com/mycompany/stuff/*  |   
											  | |
|   
											 
											Replaced by   |   
											  | |
|   
											 
											Replaced by   |   
											  | |
|   
											 
											A comma separated list of Ant-path style patterns to match class names that should be excluded from registering for reflection. Use the class name format as returned by the   |   
											  | |
|   
											 
											A comma separated list of Ant-path style patterns to match class names that should be registered for reflection. Use the class name format as returned by the   |   
											  | |
|   
											 
											If   |   
											  |   
											  | 
|   
											 What to do if it is not possible to extract CSimple expressions from a route definition at build time.  |   
											  |   
											  | 
|   
											 
											Whether to enable the bridging of Camel events to CDI events. This allows CDI observers to be configured for Camel events. E.g. those belonging to the   |   
											  |   
											  | 
|   
											 Build time configuration options for enable/disable camel source location  |   
											  |   
											  | 
|   
											 
											A timeout (with millisecond precision) to wait for   |   
											  |   
											  | 
|   
											 
											The action to take when   |   
											  |   
											  | 
							
							 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
						
2.19. Cron Copiar o linkLink copiado para a área de transferência!
A generic interface for triggering events at times specified through the Unix cron syntax.
2.19.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Cron component, URI syntax: 
cron:name 
Please refer to the above link for usage and configuration details.
2.19.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cron</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cron</artifactId>
</dependency>
2.19.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
The cron component is a generic interface component, as such Camel Quarkus users will need to use the cron extension together with another extension offering an implementation.
2.20. CXF Copiar o linkLink copiado para a área de transferência!
Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.
2.20.1. What’s inside Copiar o linkLink copiado para a área de transferência!
There are two URI formats for this endpoint:
- cxf:bean:cxfEndpoint
 - cxfEndpoint represents a bean ID that references a bean in the Spring bean registry.
 - cxf://someAddress
 - someAddress specifies the CXF endpoint’s address.
 
See the CXF component for usage and configuration details.
2.20.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cxf-soap</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-cxf-soap</artifactId>
</dependency>
2.20.3. Usage Copiar o linkLink copiado para a área de transferência!
2.20.3.1. General Copiar o linkLink copiado para a área de transferência!
						camel-quarkus-cxf-soap uses extensions from the CXF Extensions for Quarkus project - quarkus-cxf. This means that quarkus-cxf provides the set of supported use cases and WS specifications.
					
To learn about supported use cases and WS specifications, see the Quarkus CXF Reference.
2.20.3.2. Dependency management Copiar o linkLink copiado para a área de transferência!
						Camel Extensions for Quarkus manages the CXF and quarkus-cxf versions. You do not need to select compatible versions for those projects.
					
2.20.3.3. Client Copiar o linkLink copiado para a área de transferência!
						With camel-quarkus-cxf-soap (no additional dependencies required), you can use CXF clients as producers in Camel routes:
					
						The CalculatorService may look like the following:
					
JAX-WS annotations are required. The Simple CXF Frontend is not supported. Complex parameter types require JAXB annotations to work properly in native mode.
You can test this client application against the quay.io/l2x6/calculator-ws:1.2 container that implements this service endpoint interface:
docker run -p 8082:8080 quay.io/l2x6/calculator-ws:1.2
$ docker run -p 8082:8080 quay.io/l2x6/calculator-ws:1.2
							quarkus-cxf supports injecting SOAP clients using @io.quarkiverse.cxf.annotation.CXFClient annotation. Refer to the SOAP Clients chapter of the quarkus-cxf user guide for more details.
						
2.20.3.4. Server Copiar o linkLink copiado para a área de transferência!
						With camel-quarkus-cxf-soap, you can expose SOAP endpoints as consumers in Camel routes. No additional dependencies are required for this use case.
					
						The path for these two services depends on the value of the quarkus.cxf.path configuration property which can for example be set in application.properties:
					
application.properties
quarkus.cxf.path = /soap-services
quarkus.cxf.path = /soap-services
						With this configuration in place, you can access the two services at http://localhost:8080/soap-services/hello-bean and http://localhost:8080/soap-services/hello-inline, respectively.
					
						You can access the WSDL by adding ?wsdl to the above URLs.
					
							Do not use quarkus.cxf.path = / in your application unless you are 100% sure no other extension will want to expose HTTP endpoints.
						
							As of CEQ 2.13.3 the default value of quarkus.cxf.path is /. The default value will prevent other extensions from exposing HTTP endpoints.
						
							This affects RESTEasy, Vert.x, SmallRye Health and others. If you use any of them, you should set quarkus.cxf.path to some specific path, such as /services, which is the default starting with Camel Extensions for Quarkus 3.0.0 / quarkus-cxf 2.0.0.
						
							quarkus-cxf supports alternative ways of exposing SOAP endpoints. Refer to the SOAP Services chapter of the quarkus-cxf user guide for more details.
						
2.20.3.5. Logging of requests and responses Copiar o linkLink copiado para a área de transferência!
						You can enable verbose logging of SOAP messages for clients and servers with org.apache.cxf.ext.logging.LoggingFeature:
					
							io.quarkiverse.cxf:quarkus-cxf-rt-features-logging provides support for org.apache.cxf.ext.logging.LoggingFeature as a camel-quarkus-cxf-soap dependency.
						
You do not need to add it explicitly to your application.
2.20.3.6. WS Specifications Copiar o linkLink copiado para a área de transferência!
The extent of supported WS specifications is given by the Quarkus CXF project.
To learn about supported use cases and WS specifications, see the Quarkus CXF Reference.
If your application requires some other WS specification, you must add a Quarkus CXF dependency covering it.
						In Camel Extensions for Quarkus we support all extensions listed with the support level Stable.
					
You can use integration tests as executable examples of applications that implement various WS specifications:
2.20.3.7. Tooling Copiar o linkLink copiado para a área de transferência!
						quarkus-cxf wraps the following two CXF tools:
					
- 
								
wsdl2Java- for generating service classes from WSDL - 
								
java2ws- for generating WSDL from Java classes 
							For wsdl2Java to work properly, your application must directly depend on io.quarkiverse.cxf:quarkus-cxf.
						
						While wsdlvalidator is not supported, you can use wsdl2Java with the following configuration in application.properties to validate your WSDLs:
					
application.properties
quarkus.cxf.codegen.wsdl2java.additional-params = -validate
quarkus.cxf.codegen.wsdl2java.additional-params = -validate
2.21. Data Format Copiar o linkLink copiado para a área de transferência!
Use a Camel Data Format as a regular Camel Component.
For more details of the supported data formats in Camel Extensions for Quarkus, see Supported Data Formats.
2.21.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Data Format component, URI syntax: 
dataformat:name:operation 
Refer to the above link for usage and configuration details.
2.21.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-dataformat</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-dataformat</artifactId>
</dependency>
2.22. Dataset Copiar o linkLink copiado para a área de transferência!
Provide data for load and soak testing of your Camel application.
2.22.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Dataset component, URI syntax: 
dataset:name - 
							DataSet Test component, URI syntax: 
dataset-test:name 
Please refer to the above links for usage and configuration details.
2.22.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-dataset</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-dataset</artifactId>
</dependency>
2.23. Direct Copiar o linkLink copiado para a área de transferência!
Call another endpoint from the same Camel Context synchronously.
2.23.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Direct component, URI syntax: 
direct:name 
Please refer to the above link for usage and configuration details.
2.23.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-direct</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-direct</artifactId>
</dependency>
2.24. FHIR Copiar o linkLink copiado para a área de transferência!
Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard. Marshall and unmarshall FHIR objects to/from JSON. Marshall and unmarshall FHIR objects to/from XML.
2.24.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							FHIR component, URI syntax: 
fhir:apiName/methodName - FHIR JSon data format
 - FHIR XML data format
 
Please refer to the above links for usage and configuration details.
2.24.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-fhir</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-fhir</artifactId>
</dependency>
2.24.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.24.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
					By default, only FHIR versions R4 & DSTU3 are enabled in native mode, since they are the default values on the FHIR component and DataFormat.
				
| Configuration property | Type | Default | 
|---|---|---|
|   
									 Enable FHIR DSTU2 Specs in native mode.  |   
									  |   
									  | 
|   
									 Enable FHIR DSTU2_HL7ORG Specs in native mode.  |   
									  |   
									  | 
|   
									 Enable FHIR DSTU2_1 Specs in native mode.  |   
									  |   
									  | 
|   
									 Enable FHIR DSTU3 Specs in native mode.  |   
									  |   
									  | 
|  
								  Enable FHIR R4 Specs in native mode.  |   
									  |   
									  | 
|  
								  Enable FHIR R5 Specs in native mode.  |   
									  |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.25. File Copiar o linkLink copiado para a área de transferência!
Read and write files.
2.25.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							File component, URI syntax: 
file:directoryName 
Please refer to the above link for usage and configuration details.
2.25.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-file</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-file</artifactId>
</dependency>
2.25.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.25.3.1. Having only a single consumer in a cluster consuming from a given endpoint Copiar o linkLink copiado para a área de transferência!
When the same route is deployed on multiple JVMs, it could be interesting to use this extension in conjunction with the Master one. In such a setup, a single consumer will be active at a time across the whole camel master namespace.
For instance, having the route below deployed on multiple JVMs:
from("master:ns:timer:test?period=100").log("Timer invoked on a single JVM at a time");
from("master:ns:timer:test?period=100").log("Timer invoked on a single JVM at a time");
It’s possible to enable the file cluster service with a property like below:
quarkus.camel.cluster.file.enabled = true quarkus.camel.cluster.file-root = target/cluster-folder-where-lock-file-will-be-held
quarkus.camel.cluster.file.enabled = true
quarkus.camel.cluster.file-root = target/cluster-folder-where-lock-file-will-be-held
						As a result, a single consumer will be active across the ns camel master namespace. It means that, at a given time, only a single timer will generate exchanges across all JVMs. In other words, messages will be logged every 100ms on a single JVM at a time.
					
						The file cluster service could further be tuned by tweaking quarkus.camel.cluster.file.* properties.
					
| Configuration property | Type | Default | 
|---|---|---|
|   
										 Whether a File Lock Cluster Service should be automatically configured according to 'quarkus.camel.cluster.file.*' configurations.  |   
										  |   
										  | 
|  
									  The cluster service ID (defaults to null).  |   
										  | |
|   
										 The root path (defaults to null).  |   
										  | |
|   
										 The service lookup order/priority (defaults to 2147482647).  |   
										  | |
|   
										 The time to wait before starting to try to acquire lock (defaults to 1000ms).  |   
										  | |
|   
										 The time to wait between attempts to try to acquire lock (defaults to 10000ms).  |   
										  | |
|   
										 The custom attributes associated to the service (defaults to empty map).  |   
										  | 
						
						 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
					
2.26. FTP Copiar o linkLink copiado para a área de transferência!
Upload and download files to/from SFTP, FTP or SFTP servers
2.26.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							FTP component, URI syntax: 
ftp:host:port/directoryName - 
							FTPS component, URI syntax: 
ftps:host:port/directoryName - 
							SFTP component, URI syntax: 
sftp:host:port/directoryName 
Please refer to the above links for usage and configuration details.
2.26.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-ftp</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-ftp</artifactId>
</dependency>
2.27. Gson Copiar o linkLink copiado para a área de transferência!
Marshal POJOs to JSON and back using Gson
2.27.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.27.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-gson</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-gson</artifactId>
</dependency>
2.27.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.27.3.1. Marshaling/Unmarshaling objects in native mode Copiar o linkLink copiado para a área de transferência!
						When marshaling/unmarshaling objects in native mode, all the serialized classes need to be registered for reflection. As such, when using GsonDataFormat.setUnmarshalType(…), GsonDataFormat.setUnmarshalTypeName(…) and even GsonDataFormat.setUnmarshalGenericType(…), the unmarshal type as well as sub field types should be registered for reflection. See a working example in this integration test.
					
2.28. Google BigQuery Copiar o linkLink copiado para a área de transferência!
Access Google Cloud BigQuery service using SQL queries or Google Client Services API
2.28.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Google BigQuery component, URI syntax: 
google-bigquery:projectId:datasetId:tableId - 
							Google BigQuery Standard SQL component, URI syntax: 
google-bigquery-sql:projectId:queryString 
Please refer to the above links for usage and configuration details.
2.28.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-google-bigquery</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-google-bigquery</artifactId>
</dependency>
2.28.3. Usage Copiar o linkLink copiado para a área de transferência!
					If you want to read SQL scripts from the classpath with google-bigquery-sql in native mode, then you will need to ensure that they are added to the native image via the quarkus.native.resources.includes configuration property. Please check Quarkus documentation for more details.
				
2.29. Google Pubsub Copiar o linkLink copiado para a área de transferência!
Send and receive messages to/from Google Cloud Platform PubSub Service.
2.29.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Google Pubsub component, URI syntax: 
google-pubsub:projectId:destinationName 
Please refer to the above link for usage and configuration details.
2.29.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-google-pubsub</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-google-pubsub</artifactId>
</dependency>
2.29.3. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
					By default, the Camel PubSub component uses JDK object serialization via ObjectOutputStream whenever the message body is anything other than String or byte[].
				
Since such serialization is not yet supported by GraalVM, this extension provides a custom Jackson based serializer to serialize complex message payloads as JSON.
If your payload contains binary data, then you will need to handle that by creating a custom Jackson Serializer / Deserializer. Refer to the Quarkus Jackson guide for information on how to do this.
2.30. HL7 Copiar o linkLink copiado para a área de transferência!
Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.
2.30.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above links for usage and configuration details.
2.30.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-hl7</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-hl7</artifactId>
</dependency>
2.30.3. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
For MLLP with TCP, Netty is the only supported means of running an Hl7 MLLP listener. Mina is not supported since it has no GraalVM native support at present.
					Optional support for HL7MLLPNettyEncoderFactory & HL7MLLPNettyDecoderFactory codecs can be obtained by adding a dependency in your project pom.xml to camel-quarkus-netty.
				
2.31. HTTP Copiar o linkLink copiado para a área de transferência!
Send requests to external HTTP servers using Apache HTTP Client 4.x.
2.31.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							HTTP component, URI syntax: 
http://httpUri - 
							HTTPS (Secure) component, URI syntax: 
https://httpUri 
Please refer to the above links for usage and configuration details.
2.31.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-http</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-http</artifactId>
</dependency>
2.31.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.31.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
- Check the Character encodings section of the Native mode guide if you expect your application to send or receive requests using non-default encodings.
 
2.32. Infinispan Copiar o linkLink copiado para a área de transferência!
Read and write from/to Infinispan distributed key/value store and data grid.
2.32.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Infinispan component, URI syntax: 
infinispan:cacheName 
Please refer to the above link for usage and configuration details.
2.32.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-infinispan</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-infinispan</artifactId>
</dependency>
2.32.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.32.3.1. Infinispan Client Configuration Copiar o linkLink copiado para a área de transferência!
You can either configure the Infinispan client via the relevant Camel Infinispan component & endpoint options, or you may use the Quarkus Infinispan extension configuration properties.
2.32.3.2. Camel Infinispan InfinispanRemoteAggregationRepository in native mode Copiar o linkLink copiado para a área de transferência!
						If you chose to use the InfinispanRemoteAggregationRepository in native mode, then you must enable native serialization support.
					
2.33. Jackson Copiar o linkLink copiado para a área de transferência!
Marshal POJOs to JSON and back using Jackson
2.33.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.33.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson</artifactId>
</dependency>
2.33.3. Usage Copiar o linkLink copiado para a área de transferência!
2.33.3.1. Configuring the Jackson ObjectMapper Copiar o linkLink copiado para a área de transferência!
						There are a few ways of configuring the ObjectMapper that the JacksonDataFormat uses. These are outlined below.
					
2.33.3.1.1. ObjectMapper created internally by JacksonDataFormat Copiar o linkLink copiado para a área de transferência!
							By default, JacksonDataFormat will create its own ObjectMapper and use the various configuration options on the DataFormat to configure additional Jackson modules, pretty printing and other features.
						
2.33.3.1.2. Custom ObjectMapper for JacksonDataFormat Copiar o linkLink copiado para a área de transferência!
							You can pass a custom ObjectMapper instance to JacksonDataFormat as follows.
						
2.33.3.1.3. Using the Quarkus Jackson ObjectMapper with JacksonDataFormat Copiar o linkLink copiado para a área de transferência!
							The Quarkus Jackson extension exposes an ObjectMapper CDI bean which can be discovered by the JacksonDataFormat.
						
							If you are using the JSON binding mode in the Camel REST DSL and want to use the Quarkus Jackson ObjectMapper, it can be achieved as follows.
						
							You can perform customizations on the Quarkus ObjectMapper with a ObjectMapperCustomizer.
						
							It’s also possible to @Inject the Quarkus ObjectMapper and pass it to the JacksonDataFormat.
						
2.34. Avro Jackson Copiar o linkLink copiado para a área de transferência!
Marshal POJOs to Avro and back using Jackson.
2.34.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.34.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson-avro</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson-avro</artifactId>
</dependency>
2.35. Protobuf Jackson Copiar o linkLink copiado para a área de transferência!
Marshal POJOs to Protobuf and back using Jackson.
2.35.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.35.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson-protobuf</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jackson-protobuf</artifactId>
</dependency>
2.36. JacksonXML Copiar o linkLink copiado para a área de transferência!
Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson.
2.36.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.36.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jacksonxml</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jacksonxml</artifactId>
</dependency>
2.37. JAXB Copiar o linkLink copiado para a área de transferência!
Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.
2.37.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.37.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jaxb</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jaxb</artifactId>
</dependency>
2.37.3. Usage Copiar o linkLink copiado para a área de transferência!
2.37.3.1. Native mode ObjectFactory instantiation of non-JAXB annotated classes Copiar o linkLink copiado para a área de transferência!
						When performing JAXB marshal operations with a custom ObjectFactory to instantiate POJO classes that do not have JAXB annotations, you must register those POJO classes for reflection in order for them to be instantiated in native mode. E.g via the @RegisterForReflection annotation or configuration property quarkus.camel.native.reflection.include-patterns.
					
Refer to the Native mode user guide for more information.
2.38. JDBC Copiar o linkLink copiado para a área de transferência!
Access databases through SQL and JDBC.
2.38.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							JDBC component, URI syntax: 
jdbc:dataSourceName 
Please refer to the above link for usage and configuration details.
2.38.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jdbc</artifactId>
</dependency>
2.38.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.38.3.1. Configuring a DataSource Copiar o linkLink copiado para a área de transferência!
						This extension leverages Quarkus Agroal for DataSource support. Setting up a DataSource can be achieved via configuration properties. It is recommended that you explicitly name the datasource so that it can be referenced in the JDBC endpoint URI. E.g like to("jdbc:camel").
					
quarkus.datasource.camel.db-kind=postgresql quarkus.datasource.camel.username=your-username quarkus.datasource.camel.password=your-password quarkus.datasource.camel.jdbc.url=jdbc:postgresql://localhost:5432/your-database quarkus.datasource.camel.jdbc.max-size=16
quarkus.datasource.camel.db-kind=postgresql
quarkus.datasource.camel.username=your-username
quarkus.datasource.camel.password=your-password
quarkus.datasource.camel.jdbc.url=jdbc:postgresql://localhost:5432/your-database
quarkus.datasource.camel.jdbc.max-size=16
						If you choose to not name the datasource, you can resolve the default DataSource by defining your endpoint like to("jdbc:default").
					
2.38.3.1.1. Zero configuration with Quarkus Dev Services Copiar o linkLink copiado para a área de transferência!
							In dev and test mode you can take advantage of Configuration Free Databases. All you need to do is reference the default database in your routes. E.g to("jdbc:default").
						
2.39. Jira Copiar o linkLink copiado para a área de transferência!
Interact with JIRA issue tracker.
2.39.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Jira component, URI syntax: 
jira:type 
Please refer to the above link for usage and configuration details.
2.39.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jira</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jira</artifactId>
</dependency>
2.39.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.40. JMS Copiar o linkLink copiado para a área de transferência!
Sent and receive messages to/from a JMS Queue or Topic.
2.40.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							JMS component, URI syntax: 
jms:destinationType:destinationName 
Please refer to the above link for usage and configuration details.
2.40.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jms</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jms</artifactId>
</dependency>
2.40.3. Usage Copiar o linkLink copiado para a área de transferência!
2.40.3.1. Message mapping with org.w3c.dom.Node Copiar o linkLink copiado para a área de transferência!
						The Camel JMS component supports message mapping between javax.jms.Message and org.apache.camel.Message. When wanting to convert a Camel message body type of org.w3c.dom.Node, you must ensure that the camel-quarkus-jaxp extension is present on the classpath.
					
2.40.3.2. Native mode support for javax.jms.ObjectMessage Copiar o linkLink copiado para a área de transferência!
						When sending JMS message payloads as javax.jms.ObjectMessage, you must annotate the relevant classes to be registered for serialization with @RegisterForReflection(serialization = true). Note that this extension automatically sets quarkus.camel.native.reflection.serialization-enabled = true for you. Refer to the native mode user guide for more information.
					
2.40.3.3. Support for Connection pooling and X/Open XA distributed transactions Copiar o linkLink copiado para a área de transferência!
Connection pooling is a Technical Preview feature in this release of Camel Extensions for Quarkus.
							To use connection pooling in the camel-quarkus-jms components, you must add io.quarkiverse.artemis:quarkus-artemis and io.quarkiverse.messaginghub:quarkus-pooled-jms to your pom.xml and set the following configuration:
						
quarkus.pooled-jms.max-connections = 8
quarkus.pooled-jms.max-connections = 8
						You can use the quarkus-pooled-jms extension to get pooling and XA support for JMS connections. Refer to the quarkus-pooled-jms extension documentation for more information. Currently, it only works with quarkus-artemis-jms extension. Just add these two dependencies to your pom.xml:
					
Note that pooling is enabled by default.
						To enable XA, you need to add the following configuration to your application.properties:
					
quarkus.pooled-jms.xa.enabled=true
quarkus.pooled-jms.xa.enabled=true
							clientID and durableSubscriptionName are not supported in pooling connections. If setClientID is called on a reused connection from the pool, an IllegalStateException will be thrown. You will get some error messages such like Cause: setClientID can only be called directly after the connection is created
						
2.40.4. transferException option in native mode Copiar o linkLink copiado para a área de transferência!
					To use the transferException option in native mode, you must enable support for object serialization. Refer to the 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.
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
2.41. JPA Copiar o linkLink copiado para a área de transferência!
Store and retrieve Java objects from databases using Java Persistence API (JPA).
2.41.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							JPA component, URI syntax: 
jpa:entityType 
Please refer to the above link for usage and configuration details.
2.41.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jpa</artifactId>
</dependency>
2.41.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
The extension leverages Quarkus Hibernate ORM to provide the JPA implementation via Hibernate.
Refer to the Quarkus Hibernate ORM documentation to see how to configure Hibernate and your datasource,
					When a single persistence unit is used, the Camel Quarkus JPA extension will automatically configure the JPA component with a EntityManagerFactory and TransactionManager.
				
2.42. JSON Path Copiar o linkLink copiado para a área de transferência!
Evaluate a JSONPath expression against a JSON message body
2.42.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.42.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jsonpath</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jsonpath</artifactId>
</dependency>
2.43. JTA Copiar o linkLink copiado para a área de transferência!
Enclose Camel routes in transactions using Java Transaction API (JTA) and Narayana transaction manager
2.43.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.43.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jta</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jta</artifactId>
</dependency>
2.43.3. Usage Copiar o linkLink copiado para a área de transferência!
					This extension should be added when you need to use the transacted() EIP in the router. It leverages the transaction capabilities provided by the narayana-jta extension in Quarkus.
				
Refer to the Quarkus Transaction guide for the more details about transaction support. For a simple usage:
from("direct:transaction")
    .transacted()
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds1")
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds2")
    .log("all data are in the ds1 and ds2")
from("direct:transaction")
    .transacted()
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds1")
    .to("sql:INSERT INTO A TABLE ...?dataSource=ds2")
    .log("all data are in the ds1 and ds2")
Support is provided for various transaction policies.
| Policy | Description | 
|---|---|
|   
									  |   Support a current transaction; throw an exception if no current transaction exists.  | 
|   
									  |   Do not support a current transaction; throw an exception if a current transaction exists.  | 
|   
									  |   Do not support a current transaction; rather always execute non-transactionally.  | 
|   
									  |   Support a current transaction; create a new one if none exists.  | 
|   
									  |   Create a new transaction, suspending the current transaction if one exists.  | 
|   
									  |   Support a current transaction; execute non-transactionally if none exists.  | 
2.44. JSLT Copiar o linkLink copiado para a área de transferência!
Query or transform JSON payloads using an JSLT.
2.44.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							JSLT component, URI syntax: 
jslt:resourceUri 
Please refer to the above link for usage and configuration details.
2.44.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jslt</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jslt</artifactId>
</dependency>
2.44.3. allowContextMapAll option in native mode Copiar o linkLink copiado para a área de transferência!
					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.
				
2.44.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.44.4.1. Loading JSLT templates from classpath in native mode Copiar o linkLink copiado para a área de transferência!
						This component typically loads the templates from classpath. To make it work also in native mode, you need to explicitly embed the templates files in the native executable by using the quarkus.native.resources.includes property.
					
						For instance, the route below would load the JSLT schema from a classpath resource named transformation.json:
					
from("direct:start").to("jslt:transformation.json");
from("direct:start").to("jslt:transformation.json");
						To include this (an possibly other templates stored in .json files) in the native image, you would have to add something like the following to your application.properties file:
					
quarkus.native.resources.includes = *.json
quarkus.native.resources.includes = *.json
2.44.4.2. Using JSLT functions in native mode Copiar o linkLink copiado para a área de transferência!
When using JSLT functions from camel-quarkus in native mode, the classes hosting the functions would need to be registered for reflection. When registering the target function is not possible, one may end up writing a stub as below.
						The target function Math.pow(…) is now accessible through the MathFunctionStub class that could be registered in the component as below:
					
2.45. Kafka Copiar o linkLink copiado para a área de transferência!
Sent and receive messages to/from an Apache Kafka broker.
2.45.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Kafka component, URI syntax: 
kafka:topic 
Please refer to the above link for usage and configuration details.
2.45.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kafka</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kafka</artifactId>
</dependency>
2.45.3. Usage Copiar o linkLink copiado para a área de transferência!
2.45.3.1. Quarkus Kafka Dev Services Copiar o linkLink copiado para a área de transferência!
Camel Quarkus Kafka can take advantage of Quarkus Kafka Dev services to simplify development and testing with a local containerized Kafka broker.
						Kafka Dev Services is enabled by default in dev & test mode. The Camel Kafka component is automatically configured so that the brokers component option is set to point at the local containerized Kafka broker. Meaning that there’s no need to configure this option yourself.
					
						This functionality can be disabled with the configuration property quarkus.kafka.devservices.enabled=false.
					
2.45.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
| Configuration property | Type | Default | 
|---|---|---|
|   
									 
									If   |   
									  |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.46. Kamelet Copiar o linkLink copiado para a área de transferência!
Materialize route templates
2.46.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Kamelet component, URI syntax: 
kamelet:templateId/routeId 
Please refer to the above link for usage and configuration details.
2.46.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kamelet</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kamelet</artifactId>
</dependency>
2.46.3. Usage Copiar o linkLink copiado para a área de transferência!
2.46.3.1. Pre-load Kamelets at build-time Copiar o linkLink copiado para a área de transferência!
						This extension allows to pre-load a set of Kamelets at build time using the quarkus.camel.kamelet.identifiers property.
					
2.46.3.2. Using the Kamelet Catalog Copiar o linkLink copiado para a área de transferência!
						A set of pre-made Kamelets can be found on the /camel-kamelets/latest[Kamelet Catalog]. To use the Kamelet from the catalog you need to copy their yaml definition (that you can find in the camel-kamelet repo) on your project in the classpath. Alternatively you can add the camel-kamelets-catalog artifact to your pom.xml:
					
<dependency>
    <groupId>org.apache.camel.kamelets</groupId>
    <artifactId>camel-kamelets-catalog</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.kamelets</groupId>
    <artifactId>camel-kamelets-catalog</artifactId>
</dependency>
						This artifact add all the kamelets available in the catalog to your Camel Quarkus application for build time processing. If you include it with the scope provided the artifact should not be part of the runtime classpath, but at build time, all the kamelets listed via quarkus.camel.kamelet.identifiers property should be preloaded.
					
2.46.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
| Configuration property | Type | Default | 
|---|---|---|
|   
									 
									List of kamelets identifiers to pre-load at build time. Each individual identifier is used to set the related   |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.47. Kubernetes Copiar o linkLink copiado para a área de transferência!
Perform operations against Kubernetes API
2.47.1. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kubernetes</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-kubernetes</artifactId>
</dependency>
2.47.2. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
						In this release of Camel Extensions for Quarkus, the camel-quarkus-kubernetes extension is only supported when used with the camel-quarkus-master extension as a cluster service. Additionally, in order for the camel-quarkus-kubernetes extension to be supported, you must explicitly add a dependency on the quarkus-openshift-client extension in your application.
					
2.47.2.1. Automatic registration of a Kubernetes Client instance Copiar o linkLink copiado para a área de transferência!
						The extension automatically registers a Kubernetes Client bean named kubernetesClient. You can reference the bean in your routes like this:
					
from("direct:pods")
    .to("kubernetes-pods:///?kubernetesClient=#kubernetesClient&operation=listPods")
from("direct:pods")
    .to("kubernetes-pods:///?kubernetesClient=#kubernetesClient&operation=listPods")
						By default the client is configured from the local kubeconfig file. You can customize the client configuration via properties within application.properties:
					
quarkus.kubernetes-client.master-url=https://my.k8s.host quarkus.kubernetes-client.namespace=my-namespace
quarkus.kubernetes-client.master-url=https://my.k8s.host
quarkus.kubernetes-client.namespace=my-namespace
The full set of configuration options are documented in the Quarkus Kubernetes Client guide.
2.47.2.2. Having only a single consumer in a cluster consuming from a given endpoint Copiar o linkLink copiado para a área de transferência!
When the same route is deployed on multiple pods, it could be interesting to use this extension in conjunction with the Master one. In such a setup, a single consumer will be active at a time across the whole camel master namespace.
For instance, having the route below deployed on multiple pods:
from("master:ns:timer:test?period=100").log("Timer invoked on a single pod at a time");
from("master:ns:timer:test?period=100").log("Timer invoked on a single pod at a time");
It’s possible to enable the kubernetes cluster service with a property like below:
quarkus.camel.cluster.kubernetes.enabled = true
quarkus.camel.cluster.kubernetes.enabled = true
						As a result, a single consumer will be active across the ns camel master namespace. It means that, at a given time, only a single timer will generate exchanges across the whole cluster. In other words, messages will be logged every 100ms on a single pod at a time.
					
						The kubernetes cluster service could further be tuned by tweaking quarkus.camel.cluster.kubernetes.* properties.
					
| Configuration property | Type | Default | 
|---|---|---|
|   
										 Whether a Kubernetes Cluster Service should be automatically configured according to 'quarkus.camel.cluster.kubernetes.*' configurations.  |   
										  |   
										  | 
|   
										 The cluster service ID (defaults to null).  |   
										  | |
|   
										 The URL of the Kubernetes master (read from Kubernetes client properties by default).  |   
										  | |
|   
										 The connection timeout in milliseconds to use when making requests to the Kubernetes API server.  |   
										  | |
|   
										 The name of the Kubernetes namespace containing the pods and the configmap (autodetected by default).  |   
										  | |
|   
										 The name of the current pod (autodetected from container host name by default).  |   
										  | |
|   
										 The jitter factor to apply in order to prevent all pods to call Kubernetes APIs in the same instant (defaults to 1.2).  |   
										  | |
|   
										 The default duration of the lease for the current leader (defaults to 15000).  |   
										  | |
|   
										 The deadline after which the leader must stop its services because it may have lost the leadership (defaults to 10000).  |   
										  | |
|   
										 The time between two subsequent attempts to check and acquire the leadership. It is randomized using the jitter factor (defaults to 2000).  |   
										  | |
|   
										 Service lookup order/priority (defaults to 2147482647).  |   
										  | |
|   
										 The name of the lease resource used to do optimistic locking (defaults to 'leaders'). The resource name is used as prefix when the underlying Kubernetes resource can manage a single lock.  |   
										  | |
|   
										 The lease resource type used in Kubernetes, either 'config-map' or 'lease' (defaults to 'lease').  |   
										  | |
|   
										 Whether the camel master namespace leaders should be distributed evenly across all the camel contexts in the cluster.  |   
										  |   
										  | 
|   
										 The labels key/value used to identify the pods composing the cluster, defaults to empty map.  |   
										  | 
						
						 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
					
2.48. Log Copiar o linkLink copiado para a área de transferência!
Log messages to the underlying logging mechanism.
2.48.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Log component, URI syntax: 
log:loggerName 
Please refer to the above link for usage and configuration details.
2.48.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-log</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-log</artifactId>
</dependency>
2.49. Mail Copiar o linkLink copiado para a área de transferência!
Send and receive emails using imap, pop3 and smtp protocols. Marshal Camel messages with attachments into MIME-Multipart messages and back.
2.49.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							IMAP component, URI syntax: 
imap:host:port - 
							IMAPS (Secure) component, URI syntax: 
imaps:host:port - MIME Multipart data format
 - 
							POP3 component, URI syntax: 
pop3:host:port - 
							POP3S component, URI syntax: 
pop3s:host:port - 
							SMTP component, URI syntax: 
smtp:host:port - 
							SMTPS component, URI syntax: 
smtps:host:port 
Please refer to the above links for usage and configuration details.
2.49.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mail</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mail</artifactId>
</dependency>
2.50. Master Copiar o linkLink copiado para a área de transferência!
Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.
2.50.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Master component, URI syntax: 
master:namespace:delegateUri 
Please refer to the above link for usage and configuration details.
2.50.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-master</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-master</artifactId>
</dependency>
2.50.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
This extension can be used in conjunction with extensions below:
2.51. Microprofile Fault Tolerance Copiar o linkLink copiado para a área de transferência!
Circuit Breaker EIP using Microprofile Fault Tolerance
2.51.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.51.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-fault-tolerance</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-fault-tolerance</artifactId>
</dependency>
2.52. MicroProfile Health Copiar o linkLink copiado para a área de transferência!
Expose Camel health checks via MicroProfile Health
2.52.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.52.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-health</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-health</artifactId>
</dependency>
2.52.3. Usage Copiar o linkLink copiado para a área de transferência!
					By default, classes extending AbstractHealthCheck are registered as both liveness and readiness checks. You can override the isReadiness method to control this behaviour.
				
					Any checks provided by your application are automatically discovered and bound to the Camel registry. They will be available via the Quarkus health endpoints /q/health/live and /q/health/ready.
				
					You can also provide custom HealthCheckRepository implementations and these are also automatically discovered and bound to the Camel registry for you.
				
Refer to the Quarkus health guide for further information.
2.52.3.1. Provided health checks Copiar o linkLink copiado para a área de transferência!
Some checks are automatically registered for your application.
2.52.3.1.1. Camel Context Health Copiar o linkLink copiado para a área de transferência!
							Inspects the Camel Context status and causes the health check status to be DOWN if the status is anything other than 'Started'.
						
2.52.3.1.2. Camel Route Health Copiar o linkLink copiado para a área de transferência!
							Inspects the status of each route and causes the health check status to be DOWN if any route status is not 'Started'.
						
2.52.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
| Configuration property | Type | Default | 
|---|---|---|
|  
								  Set whether to enable Camel health checks  |   
									  |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.53. MicroProfile Metrics Copiar o linkLink copiado para a área de transferência!
Expose metrics from Camel routes.
2.53.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							MicroProfile Metrics component, URI syntax: 
microprofile-metrics:metricType:metricName 
Please refer to the above link for usage and configuration details.
2.53.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-metrics</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-microprofile-metrics</artifactId>
</dependency>
2.53.3. Usage Copiar o linkLink copiado para a área de transferência!
The microprofile-metrics component automatically exposes a set of Camel application metrics. Some of these include:
2.53.3.1. Camel Context metrics Copiar o linkLink copiado para a área de transferência!
| Metric Name | Type | 
|---|---|
|   
										 
										The status of the Camel Context represented by the   |   Gauge  | 
|   
										 The Camel Context uptime in milliseconds  |   Gauge  | 
|   
										 The total number of completed exchanges  |   Counter  | 
|   
										 The total number of failed exchanges  |   Counter  | 
|   
										 The total number of inflight exchanges  |   Gauge  | 
|   
										 The total number of all exchanges  |   Counter  | 
|   
										 The total number of all external redeliveries  |   Counter  | 
|   
										 The total number of all failures handled  |   Counter  | 
2.53.3.2. Camel Route metrics Copiar o linkLink copiado para a área de transferência!
| Metric Name | Type | 
|---|---|
|   
										 The number of routes  |   Gauge  | 
|   
										 The number of running routes  |   Gauge  | 
|   
										 The total number of completed exchanges for the route  |   Counter  | 
|   
										 The total number of failed exchanges for the route  |   Counter  | 
|   
										 The total number of inflight exchanges for the route  |   Gauge  | 
|   
										 The total number of all exchanges for the route  |   Counter  | 
|   
										 The total number of all external redeliveries for the route  |   Counter  | 
|   
										 The total number of all failures handled for the route  |   Counter  | 
All metrics are tagged with the name of the Camel Context and the id of the route where applicable.
You can also produce your own customized metrics in your Camel routes. For more information, refer to the microprofile-metrics component documentation.
Metrics are exposed to Quarkus as application metrics and they can be browsed at http://localhost:8080/q/metrics/application.
2.53.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
| Configuration property | Type | Default | 
|---|---|---|
|   
									 Set whether to enable the MicroProfileMetricsRoutePolicyFactory for capturing metrics on route processing times.  |   
									  |   
									  | 
|   
									 Set whether to enable the MicroProfileMetricsMessageHistoryFactory for capturing metrics on individual route node processing times. Depending on the number of configured route nodes, there is the potential to create a large volume of metrics. Therefore, this option is disabled by default.  |   
									  |   
									  | 
|   
									 Set whether to enable the MicroProfileMetricsExchangeEventNotifier for capturing metrics on exchange processing times.  |   
									  |   
									  | 
|   
									 Set whether to enable the MicroProfileMetricsRouteEventNotifier for capturing metrics on the total number of routes and total number of routes running.  |   
									  |   
									  | 
|   
									 Set whether to enable the MicroProfileMetricsCamelContextEventNotifier for capturing metrics about the CamelContext, such as status and uptime.  |   
									  |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.54. MLLP Copiar o linkLink copiado para a área de transferência!
Communicate with external systems using the MLLP protocol.
2.54.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							MLLP component, URI syntax: 
mllp:hostname:port 
Please refer to the above link for usage and configuration details.
2.54.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mllp</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mllp</artifactId>
</dependency>
2.54.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
- 
							Check the Character encodings section of the Native mode guide if you wish to use the 
defaultCharsetcomponent option. 
2.55. Mock Copiar o linkLink copiado para a área de transferência!
Test routes and mediation rules using mocks.
2.55.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Mock component, URI syntax: 
mock:name 
Please refer to the above link for usage and configuration details.
2.55.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mock</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mock</artifactId>
</dependency>
2.55.3. Usage Copiar o linkLink copiado para a área de transferência!
To use camel-mock capabilities in tests it is required to get access to MockEndpoint instances.
					CDI injection could be used for accessing instances (see Quarkus documentation). You can inject camelContext into test using @Inject annotation. Camel context can be then used for obtaining mock endpoints. See the following example:
				
Route used for the example test:
2.55.4. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
Injection of CDI beans (described in Usage) does not work in native mode.
In the native mode the test and the application under test are running in two different processes and it is not possible to share a mock bean between them (see Quarkus documentation).
2.56. MongoDB Copiar o linkLink copiado para a área de transferência!
Perform operations on MongoDB documents and collections.
2.56.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							MongoDB component, URI syntax: 
mongodb:connectionBean 
Please refer to the above link for usage and configuration details.
2.56.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mongodb</artifactId>
</dependency>
2.56.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
The extension leverages the Quarkus MongoDB Client extension. The Mongo client can be configured via the Quarkus MongoDB Client configuration options.
					The Camel Quarkus MongoDB extension automatically registers a MongoDB client bean named camelMongoClient. This can be referenced in the mongodb endpoint URI connectionBean path parameter. For example:
				
from("direct:start")
.to("mongodb:camelMongoClient?database=myDb&collection=myCollection&operation=findAll")
from("direct:start")
.to("mongodb:camelMongoClient?database=myDb&collection=myCollection&operation=findAll")
If your application needs to work with multiple MongoDB servers, you can create a "named" client and reference in your route by injecting a client and the related configuration as explained in the Quarkus MongoDB extension client injection. For example:
//application.properties quarkus.mongodb.mongoClient1.connection-string = mongodb://root:example@localhost:27017/
//application.properties
quarkus.mongodb.mongoClient1.connection-string = mongodb://root:example@localhost:27017/
					Note that when using named clients, the "default" camelMongoClient bean will still be produced. Refer to the Quarkus documentation on Multiple MongoDB Clients for more information.
				
2.57. Netty Copiar o linkLink copiado para a área de transferência!
Socket level networking using TCP or UDP with Netty 4.x.
2.57.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Netty component, URI syntax: 
netty:protocol://host:port 
Please refer to the above link for usage and configuration details.
2.57.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-netty</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-netty</artifactId>
</dependency>
2.58. OpenAPI Java Copiar o linkLink copiado para a área de transferência!
Expose OpenAPI resources defined in Camel REST DSL
2.58.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.58.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-openapi-java</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-openapi-java</artifactId>
</dependency>
2.58.3. Usage Copiar o linkLink copiado para a área de transferência!
					You can use this extension to expose REST DSL services to Quarkus OpenAPI. With quarkus-smallrye-openapi, you can access them by /q/openapi?format=json.
				
Refer to the Quarkus OpenAPI guide for further information.
This is an experimental feature. You can enable it by
quarkus.camel.openapi.expose.enabled=true
quarkus.camel.openapi.expose.enabled=true
						It’s the user’s responsibility to use @RegisterForReflection to register all model classes for reflection.
					
						It doesn’t support the rest services used in org.apache.camel.builder.LambdaRouteBuilder right now. Also, it can not use CDI injection in the RouteBuilder configure() since we get the rest definitions at build time while CDI is unavailable.
					
2.58.4. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
					The apiContextIdListing configuration option is not supported. Since multiple CamelContext`s are not supported and Quarkus applications run standalone, there is no scenario where attempting to resolve OpenApi specifications for a specific `CamelContext would be useful. It also introduces some additional overhead of requiring JMX (which is not supported in native mode) & additional Camel Quarkus extensions for processing XML.
				
2.59. OpenTelemetry Copiar o linkLink copiado para a área de transferência!
Distributed tracing using OpenTelemetry
2.59.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.59.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-opentelemetry</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-opentelemetry</artifactId>
</dependency>
2.59.3. Usage Copiar o linkLink copiado para a área de transferência!
					The extension automatically creates a Camel OpenTelemetryTracer and binds it to the Camel registry.
				
					In order to send the captured traces to a tracing system, you need to configure some properties within application.properties like those below.
				
Note that you must add a dependency to the OpenTelemetry exporter that you want to work with.
At present, Quarkus has support for Jaeger and the OpenTelemetry Protocol Specification (OTLP).
For Jaeger:
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-opentelemetry-exporter-jaeger</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-opentelemetry-exporter-jaeger</artifactId>
</dependency>
For OTLP:
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-opentelemetry-exporter-otlp</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-opentelemetry-exporter-otlp</artifactId>
</dependency>
Refer to the Quarkus OpenTelemetry guide for a full list of configuration options.
					Route endpoints can be excluded from tracing by configuring a property named quarkus.camel.opentelemetry.exclude-patterns in application.properties. For example:
				
Exclude all direct & netty-http endpoints from tracing
# Exclude all direct & netty-http endpoints from tracing
quarkus.camel.opentelemetry.exclude-patterns=direct:*,netty-http:*
2.59.3.1. Tracing CDI bean method execution Copiar o linkLink copiado para a área de transferência!
						When instrumenting the execution of CDI bean methods from Camel routes, you should annotate such methods with io.opentelemetry.extension.annotations.WithSpan. Methods annotated with @WithSpan will create a new Span and establish any required relationships with the current Trace context.
					
						For example, to instrument a CDI bean from a Camel route, first ensure the appropriate methods are annotated with @WithTrace.
					
Next, use the bean in your Camel route.
							To ensure that the sequence of recorded spans is correct, you must use the full to("bean:") endpoint URI and not the shortened .bean() EIP DSL method.
						
There is more information about CDI instrumentation in the Quarkus OpenTelemetry guide.
2.59.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
| Configuration property | Type | Default | 
|---|---|---|
|   
									 Sets whether header names need to be encoded. Can be useful in situations where OpenTelemetry propagators potentially set header name values in formats that are not compatible with the target system. E.g for JMS where the specification mandates header names are valid Java identifiers.  |   
									  |   
									  | 
|   
									 Sets whether to disable tracing for endpoint URIs that match the given patterns. The pattern can take the following forms: 1. An exact match on the endpoint URI. E.g platform-http:/some/path 2. A wildcard match. E.g platform-http:* 3. A regular expression matching the endpoint URI. E.g platform-http:/prefix/.*  |   
									  | 
					
					 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
				
2.60. Paho Copiar o linkLink copiado para a área de transferência!
Communicate with MQTT message brokers using Eclipse Paho MQTT Client.
2.60.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Paho component, URI syntax: 
paho:topic 
Please refer to the above link for usage and configuration details.
2.60.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-paho</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-paho</artifactId>
</dependency>
2.61. Paho MQTT5 Copiar o linkLink copiado para a área de transferência!
Communicate with MQTT message brokers using Eclipse Paho MQTT v5 Client.
2.61.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Paho MQTT 5 component, URI syntax: 
paho-mqtt5:topic 
Please refer to the above link for usage and configuration details.
2.61.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-paho-mqtt5</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-paho-mqtt5</artifactId>
</dependency>
2.62. Platform HTTP Copiar o linkLink copiado para a área de transferência!
This extension allows for creating HTTP endpoints for consuming HTTP requests.
				It is built on top of the Eclipse Vert.x HTTP server provided by the quarkus-vertx-http extension.
			
2.62.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Platform HTTP component, URI syntax: 
platform-http:path 
Please refer to the above link for usage and configuration details.
2.62.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-platform-http</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-platform-http</artifactId>
</dependency>
2.62.3. Usage Copiar o linkLink copiado para a área de transferência!
2.62.3.1. Basic Usage Copiar o linkLink copiado para a área de transferência!
						Serve all HTTP methods on the /hello endpoint:
					
from("platform-http:/hello").setBody(simple("Hello ${header.name}"));
from("platform-http:/hello").setBody(simple("Hello ${header.name}"));
						Serve only GET requests on the /hello endpoint:
					
from("platform-http:/hello?httpMethodRestrict=GET").setBody(simple("Hello ${header.name}"));
from("platform-http:/hello?httpMethodRestrict=GET").setBody(simple("Hello ${header.name}"));
2.62.3.2. Using platform-http via Camel REST DSL Copiar o linkLink copiado para a área de transferência!
						To be able to use Camel REST DSL with the platform-http component, add camel-quarkus-rest to your pom.xml:
					
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
Then you can use the Camel REST DSL:
2.62.3.3. Handling multipart/form-data file uploads Copiar o linkLink copiado para a área de transferência!
You can restrict the uploads to certain file extensions by white listing them:
2.62.3.4. Securing platform-http endpoints Copiar o linkLink copiado para a área de transferência!
						Quarkus provides a variety of security and authentication mechanisms which can be used to secure platform-http endpoints. Refer to the Quarkus Security documentation for further details.
					
						Within a route, it is possible to obtain the authenticated user and its associated SecurityIdentity and Principal:
					
						Also check the quarkus.http.body.* configuration options in Quarkus documentation, esp. quarkus.http.body.handle-file-uploads, quarkus.http.body.uploads-directory and quarkus.http.body.delete-uploaded-files-on-end.
					
2.62.3.5. Implementing a reverse proxy Copiar o linkLink copiado para a área de transferência!
						Platform HTTP component can act as a reverse proxy, in that case Exchange.HTTP_URI, Exchange.HTTP_HOST headers are populated from the absolute URL received on the request line of the HTTP request.
					
Here’s an example of a HTTP proxy that simply redirects the Exchange to the origin server.
from("platform-http:proxy")
    .toD("http://"
        + "${headers." + Exchange.HTTP_HOST + "}");
from("platform-http:proxy")
    .toD("http://"
        + "${headers." + Exchange.HTTP_HOST + "}");
2.62.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.62.4.1. Platform HTTP server configuration Copiar o linkLink copiado para a área de transferência!
Configuration of the platform HTTP server is managed by Quarkus. Refer to the Quarkus HTTP configuration guide for the full list of configuration options.
						To configure SSL for the Platform HTTP server, follow the secure connections with SSL guide. Note that configuring the server for SSL with SSLContextParameters is not currently supported.
					
2.62.4.2. Character encodings Copiar o linkLink copiado para a área de transferência!
Check the Character encodings section of the Native mode guide if you expect your application to send or receive requests using non-default encodings.
2.63. Quartz Copiar o linkLink copiado para a área de transferência!
Schedule sending of messages using the Quartz 2.x scheduler.
2.63.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Quartz component, URI syntax: 
quartz:groupName/triggerName 
Please refer to the above link for usage and configuration details.
2.63.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-quartz</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-quartz</artifactId>
</dependency>
2.63.3. Usage Copiar o linkLink copiado para a área de transferência!
2.63.3.1. Clustering Copiar o linkLink copiado para a área de transferência!
Support for Quartz clustering is provided by the Quarkus Quartz extension. The following steps outline how to configure Quarkus Quartz for use with Camel.
Enable Quartz clustered mode and configure a
DataSourceas a persistence Quartz job store. An example configuration is as follows.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the correct JDBC driver extension to your application that corresponds to the value of
quarkus.datasource.db-kind. In the above examplepostgresqlis used, therefore the following JDBC dependency would be required. Adjust as necessary for your needs. Agroal is also required forDataSourcesupport.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Quarkus Flyway can automatically create the necessary Quartz database tables for you. Add
quarkus-flywayto your application (optional).<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-flyway</artifactId> </dependency><dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-flyway</artifactId> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Also add a Quartz database creation script for your chosen database kind. The Quartz project provides ready made scripts that can be copied from here. Add the SQL script to
src/main/resources/db/migration/V1.0.0__QuarkusQuartz.sql. Quarkus Flyway will detect it on startup and will proceed to create the Quartz database tables.Configure the Camel Quartz component to use the Quarkus Quartz scheduler.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
Further customization of the Quartz scheduler can be done via various configuration properties. Refer to to the Quarkus Quartz Configuration guide for more information.
2.64. Ref Copiar o linkLink copiado para a área de transferência!
Route messages to an endpoint looked up dynamically by name in the Camel Registry.
2.64.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Ref component, URI syntax: 
ref:name 
Please refer to the above link for usage and configuration details.
2.64.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-ref</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-ref</artifactId>
</dependency>
2.64.3. Usage Copiar o linkLink copiado para a área de transferência!
					CDI producer methods can be harnessed to bind endpoints to the Camel registry, so that they can be resolved using the ref URI scheme in Camel routes.
				
For example, to produce endpoint beans:
					Use ref: to refer to the names of the CDI beans that were bound to the Camel registry:
				
2.65. Rest Copiar o linkLink copiado para a área de transferência!
Expose REST services and their OpenAPI Specification or call external REST services.
2.65.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							REST component, URI syntax: 
rest:method:path:uriTemplate - 
							REST API component, URI syntax: 
rest-api:path 
Please refer to the above links for usage and configuration details.
2.65.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
2.65.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
This extension depends on the Platform HTTP extension and configures it as the component that provides the REST transport.
2.65.3.1. Path parameters containing special characters with platform-http Copiar o linkLink copiado para a área de transferência!
						When using the platform-http REST transport, some characters are not allowed within path parameter names. This includes the '-' and '$' characters.
					
						In order to make the below example REST /dashed/param route work correctly, a system property is required io.vertx.web.route.param.extended-pattern=true.
					
There is some more background to this in the Vert.x Web documentation.
2.65.3.2. Configuring alternate REST transport providers Copiar o linkLink copiado para a área de transferência!
						To use another REST transport provider, such as netty-http or servlet, you need to add the respective extension as a dependency to your project and set the provider in your RouteBuilder. E.g. for servlet, you’d have to add the org.apache.camel.quarkus:camel-quarkus-servlet dependency and the set the provider as follows:
					
2.66. REST OpenApi Copiar o linkLink copiado para a área de transferência!
Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.
2.66.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							REST OpenApi component, URI syntax: 
rest-openapi:specificationUri#operationId 
Please refer to the above link for usage and configuration details.
2.66.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest-openapi</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest-openapi</artifactId>
</dependency>
2.66.3. Usage Copiar o linkLink copiado para a área de transferência!
2.66.3.1. Required Dependencies Copiar o linkLink copiado para a área de transferência!
						A RestProducerFactory implementation must be available when using the rest-openapi extension. The currently known extensions are:
					
- camel-quarkus-http
 - camel-quarkus-netty-http
 
						Maven users will need to add one of these dependencies to their pom.xml, for example:
					
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-http</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-http</artifactId>
</dependency>
						Depending on which mechanism is used to load the OpenApi specification, additional dependencies may be required. When using the file resource locator, the org.apache.camel.quarkus:camel-quarkus-file extension must be added as a project dependency. When using ref or bean to load the specification, not only must the org.apache.camel.quarkus:camel-quarkus-bean dependency be added, but the bean itself must be annotated with @RegisterForReflection.
					
						When using the classpath resource locator with native code, the path to the OpenAPI specification must be specified in the quarkus.native.resources.includes property of the application.properties file. For example:
					
quarkus.native.resources.includes=openapi.json
quarkus.native.resources.includes=openapi.json
2.67. Salesforce Copiar o linkLink copiado para a área de transferência!
Communicate with Salesforce using Java DTOs.
2.67.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Salesforce component, URI syntax: 
salesforce:operationName:topicName 
Please refer to the above link for usage and configuration details.
2.67.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-salesforce</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-salesforce</artifactId>
</dependency>
2.67.3. Usage Copiar o linkLink copiado para a área de transferência!
2.67.3.1. Generating Salesforce DTOs with the salesforce-maven-plugin Copiar o linkLink copiado para a área de transferência!
Test content.
						To generate Salesforce DTOs for your project, use the salesforce-maven-plugin. The example code snippet below creates a single DTO for the Account object.
					
2.67.4. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.68. XQuery Copiar o linkLink copiado para a área de transferência!
Query and/or transform XML payloads using XQuery and Saxon.
2.68.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							XQuery component, URI syntax: 
xquery:resourceUri - XQuery language
 
Please refer to the above links for usage and configuration details.
2.68.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-saxon</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-saxon</artifactId>
</dependency>
2.68.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
					This component is able to load XQuery definitions from classpath. To make it work also in native mode, you need to explicitly embed the queries in the native executable by using the quarkus.native.resources.includes property.
				
					For instance, the two routes below load an XQuery script from two classpath resources named myxquery.txt and another-xquery.txt respectively:
				
from("direct:start").transform().xquery("resource:classpath:myxquery.txt", String.class);
from("direct:start").to("xquery:another-xquery.txt");
from("direct:start").transform().xquery("resource:classpath:myxquery.txt", String.class);
from("direct:start").to("xquery:another-xquery.txt");
					To include these (an possibly other queries stored in .txt files) in the native image, you would have to add something like the following to your application.properties file:
				
quarkus.native.resources.includes = *.txt
quarkus.native.resources.includes = *.txt
2.69. Scheduler Copiar o linkLink copiado para a área de transferência!
Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.
2.69.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Scheduler component, URI syntax: 
scheduler:name 
Please refer to the above link for usage and configuration details.
2.69.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-scheduler</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-scheduler</artifactId>
</dependency>
2.70. SEDA Copiar o linkLink copiado para a área de transferência!
Asynchronously call another endpoint from any Camel Context in the same JVM.
2.70.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							SEDA component, URI syntax: 
seda:name 
Please refer to the above link for usage and configuration details.
2.70.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-seda</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-seda</artifactId>
</dependency>
2.71. Slack Copiar o linkLink copiado para a área de transferência!
Send and receive messages to/from Slack.
2.71.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Slack component, URI syntax: 
slack:channel 
Please refer to the above link for usage and configuration details.
2.71.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-slack</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-slack</artifactId>
</dependency>
2.71.3. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.72. SOAP dataformat Copiar o linkLink copiado para a área de transferência!
Marshal Java objects to SOAP messages and back.
2.72.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.72.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-soap</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-soap</artifactId>
</dependency>
2.73. SNMP Copiar o linkLink copiado para a área de transferência!
Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.
2.73.1. What’s inside Copiar o linkLink copiado para a área de transferência!
					URI syntax: snmp:host:port
				
Refer to the SNMP component for usage and configuration details.
2.73.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-snmp</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-snmp</artifactId>
</dependency>
2.73.3. Camel Quarkus limitations Copiar o linkLink copiado para a área de transferência!
					This extension uses org.snmp4j:snmp4j as an SNMP protocol implementation. This is different from Camel 3.18.x using org.apache.servicemix.bundles.snmp4j:org.apache.servicemix.bundles.
				
The motivation for this change is twofold:
- 
							
org.snmp4j:snmp4jbrings more stability and fixes many vulnerabilities. - 
							Camel switches to 
org.snmp4j.snmp4jin version 4 anyway, so Camel Quarkus users can enjoy the same benefits a bit earlier. 
This change has no impact on configuration of the SNMP component.
2.73.3.1. SNMP v3 Limitation Copiar o linkLink copiado para a área de transferência!
						SNMP version 3 is supported only for the operation poll. (This limitation is caused by an issue in Camel 3.18.6. For more information, see CAMEL-19298).
					
2.74. SQL Copiar o linkLink copiado para a área de transferência!
Perform SQL queries.
2.74.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							SQL component, URI syntax: 
sql:query - 
							SQL Stored Procedure component, URI syntax: 
sql-stored:template 
Please refer to the above links for usage and configuration details.
2.74.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-sql</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-sql</artifactId>
</dependency>
2.74.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.74.3.1. Configuring a DataSource Copiar o linkLink copiado para a área de transferência!
						This extension leverages Quarkus Agroal for DataSource support. Setting up a DataSource can be achieved via configuration properties.
					
quarkus.datasource.db-kind=postgresql quarkus.datasource.username=your-username quarkus.datasource.password=your-password quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/your-database quarkus.datasource.jdbc.max-size=16
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=your-username
quarkus.datasource.password=your-password
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/your-database
quarkus.datasource.jdbc.max-size=16
						The Camel SQL component will automatically resolve the DataSource bean from the registry. When configuring multiple datasources, you can specify which one is to be used on an SQL endpoint via the URI options datasource or dataSourceRef. Refer to the SQL component documentation for more details.
					
2.74.3.1.1. Zero configuration with Quarkus Dev Services Copiar o linkLink copiado para a área de transferência!
							In dev and test mode you can take advantage of Configuration Free Databases. The Camel SQL component will be automatically configured to use a DataSource that points to a local containerized instance of the database matching the JDBC driver type that you have selected.
						
2.74.3.2. SQL scripts Copiar o linkLink copiado para a área de transferência!
						When configuring sql or sql-stored endpoints to reference script files from the classpath, set the following configuration property to ensure that they are available in native mode.
					
quarkus.native.resources.includes = queries.sql, sql/*.sql
quarkus.native.resources.includes = queries.sql, sql/*.sql
2.74.3.3. SQL aggregation repository in native mode Copiar o linkLink copiado para a área de transferência!
						In order to use SQL aggregation repositories like JdbcAggregationRepository in native mode, you must enable native serialization support.
					
						In addition, if your exchange bodies are custom types, they must be registered for serialization by annotating their class declaration with @RegisterForReflection(serialization = true).
					
2.75. Telegram Copiar o linkLink copiado para a área de transferência!
Send and receive messages acting as a Telegram Bot Telegram Bot API.
2.75.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Telegram component, URI syntax: 
telegram:type 
Please refer to the above link for usage and configuration details.
2.75.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-telegram</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-telegram</artifactId>
</dependency>
2.75.3. Usage Copiar o linkLink copiado para a área de transferência!
2.75.4. Webhook Mode Copiar o linkLink copiado para a área de transferência!
The Telegram extension supports usage in the webhook mode.
					In order to enable webhook mode, users need first to add a REST implementation to their application. Maven users, for example, can add camel-quarkus-rest extension to their pom.xml file:
				
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-rest</artifactId>
</dependency>
2.75.5. SSL in native mode Copiar o linkLink copiado para a área de transferência!
					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 Quarkus SSL guide.
				
2.76. Timer Copiar o linkLink copiado para a área de transferência!
Generate messages in specified intervals using java.util.Timer.
2.76.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Timer component, URI syntax: 
timer:timerName 
Please refer to the above link for usage and configuration details.
2.76.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-timer</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-timer</artifactId>
</dependency>
2.77. Vert.x HTTP Client Copiar o linkLink copiado para a área de transferência!
Camel HTTP client support with Vert.x
2.77.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Vert.x HTTP Client component, URI syntax: 
vertx-http:httpUri 
Please refer to the above link for usage and configuration details.
2.77.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-vertx-http</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-vertx-http</artifactId>
</dependency>
2.77.3. transferException option in native mode Copiar o linkLink copiado para a área de transferência!
					To use the transferException option in native mode, you must enable support for object serialization. Refer to the 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.
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)
2.77.4. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.77.5. allowJavaSerializedObject option in native mode Copiar o linkLink copiado para a área de transferência!
					When using the allowJavaSerializedObject option in native mode, the support of serialization might need to be enabled. Please, refer to the native mode user guide for more information.
				
2.77.5.1. Character encodings Copiar o linkLink copiado para a área de transferência!
Check the Character encodings section of the Native mode guide if the application is expected to send and receive requests using non-default encodings.
2.78. Validator Copiar o linkLink copiado para a área de transferência!
Validate the payload using XML Schema and JAXP Validation.
2.78.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Validator component, URI syntax: 
validator:resourceUri 
Please refer to the above link for usage and configuration details.
2.78.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-validator</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-validator</artifactId>
</dependency>
2.79. Velocity Copiar o linkLink copiado para a área de transferência!
Transform messages using a Velocity template.
2.79.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							Velocity component, URI syntax: 
velocity:resourceUri 
Please refer to the above link for usage and configuration details.
2.79.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-velocity</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-velocity</artifactId>
</dependency>
2.79.3. Usage Copiar o linkLink copiado para a área de transferência!
2.79.3.1. Custom body as domain object in the native mode Copiar o linkLink copiado para a área de transferência!
When using a custom object as message body and referencing its properties in the template in the native mode, all the classes need to be registered for reflection (see the documentation).
Example:
@RegisterForReflection
public interface CustomBody {
}
@RegisterForReflection
public interface CustomBody {
}
2.79.4. allowContextMapAll option in native mode Copiar o linkLink copiado para a área de transferência!
					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.
				
2.79.5. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
					This component typically loads Velocity templates from classpath. To make it work also in native mode, you need to explicitly embed the templates in the native executable by using the quarkus.native.resources.includes property.
				
					For instance, the route below would load the Velocity template from a classpath resource named template/simple.vm:
				
from("direct:start").to("velocity://template/simple.vm");
from("direct:start").to("velocity://template/simple.vm");
					To include this (an possibly other templates stored in .vm files in the template directory) in the native image, you would have to add something like the following to your application.properties file:
				
quarkus.native.resources.includes = template/*.vm
quarkus.native.resources.includes = template/*.vm
2.80. XML IO DSL Copiar o linkLink copiado para a área de transferência!
An XML stack for parsing XML route definitions
2.80.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.80.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xml-io-dsl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xml-io-dsl</artifactId>
</dependency>
2.80.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
2.80.3.1. XML file encodings Copiar o linkLink copiado para a área de transferência!
By default, some XML file encodings may not work out of the box in native mode. Please, check the Character encodings section to learn how to fix.
2.81. XPath Copiar o linkLink copiado para a área de transferência!
Evaluates an XPath expression against an XML payload
2.81.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.81.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xpath</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xpath</artifactId>
</dependency>
2.81.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
					This component is able to load xpath expressions from classpath resources. To make it work also in native mode, you need to explicitly embed the expression files in the native executable by using the quarkus.native.resources.includes property.
				
					For instance, the route below would load an XPath expression from a classpath resource named myxpath.txt:
				
from("direct:start").transform().xpath("resource:classpath:myxpath.txt");
from("direct:start").transform().xpath("resource:classpath:myxpath.txt");
					To include this (an possibly other expressions stored in .txt files) in the native image, you would have to add something like the following to your application.properties file:
				
quarkus.native.resources.includes = *.txt
quarkus.native.resources.includes = *.txt
2.82. XSLT Copiar o linkLink copiado para a área de transferência!
Transforms XML payload using an XSLT template.
2.82.1. What’s inside Copiar o linkLink copiado para a área de transferência!
- 
							XSLT component, URI syntax: 
xslt:resourceUri 
Please refer to the above link for usage and configuration details.
2.82.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xslt</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-xslt</artifactId>
</dependency>
2.82.3. Additional Camel Quarkus configuration Copiar o linkLink copiado para a área de transferência!
					To optimize XSLT processing, the extension needs to know the locations of the XSLT templates at build time. The XSLT source URIs have to be passed via the quarkus.camel.xslt.sources property. Multiple URIs can be separated by comma.
				
quarkus.camel.xslt.sources = transform.xsl, classpath:path/to/my/file.xsl
quarkus.camel.xslt.sources = transform.xsl, classpath:path/to/my/file.xsl
					Scheme-less URIs are interpreted as classpath: URIs.
				
					Only classpath: URIs are supported on Quarkus native mode. file:, http: and other kinds of URIs can be used on JVM mode only.
				
					<xsl:include> and <xsl:messaging> XSLT elements are also supported in JVM mode only right now.
				
					If aggregate DSL is used, XsltSaxonAggregationStrategy has to be used such as
				
Also, it’s only supported on JVM mode.
2.82.3.1. Configuration Copiar o linkLink copiado para a área de transferência!
TransformerFactory features can be configured using following property:
quarkus.camel.xslt.features."http\://javax.xml.XMLConstants/feature/secure-processing"=false
quarkus.camel.xslt.features."http\://javax.xml.XMLConstants/feature/secure-processing"=false
2.82.3.2. Extension functions support Copiar o linkLink copiado para a área de transferência!
Xalan’s extension functions do work properly only when:
- Secure-processing is disabled
 - Functions are defined in a separate jar
 - Functions are augmented during native build phase. For example, they can be registered for reflection:
 
@RegisterForReflection(targets = { my.Functions.class })
public class FunctionsConfiguration {
}
@RegisterForReflection(targets = { my.Functions.class })
public class FunctionsConfiguration {
}
The content of the XSLT source URIs is parsed and compiled into Java classes at build time. These Java classes are the only source of XSLT information at runtime. The XSLT source files may not be included in the application archive at all.
| Configuration property | Type | Default | 
|---|---|---|
|  
									  A comma separated list of templates to compile.  |   
										  | |
|   
										 The package name for the generated classes.  |   
										  |   
										  | 
|  
									  TransformerFactory features.  |   
										  | 
						
						 Configuration property fixed at build time. All other configuration properties are overridable at runtime.
					
2.83. YAML DSL Copiar o linkLink copiado para a área de transferência!
A YAML stack for parsing YAML route definitions
2.83.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.83.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-yaml-dsl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-yaml-dsl</artifactId>
</dependency>
2.83.3. Usage Copiar o linkLink copiado para a área de transferência!
2.83.3.1. Native mode Copiar o linkLink copiado para a área de transferência!
The following constructs when defined within Camel YAML DSL markup, require you to register classes for reflection. Refer to the Native mode guide for details.
2.83.3.1.1. Bean definitions Copiar o linkLink copiado para a área de transferência!
The YAML DSL provides the capability to define beans as follows.
							In this example, the GreetingBean class needs to be registered for reflection. This applies to any types that you refer to under the beans key in your YAML routes.
						
@RegisterForReflection
public class GreetingBean {
}
@RegisterForReflection
public class GreetingBean {
}
2.83.3.1.2. Exception handling Copiar o linkLink copiado para a área de transferência!
Camel provides various methods of handling exceptions. Some of these require that any exception classes referenced in their DSL definitions are registered for reflection.
							on-exception
						
@RegisterForReflection
public class MyHandledException {
}
@RegisterForReflection
public class MyHandledException {
}
							throw-exception
						
@RegisterForReflection
public class ForcedException {
}
@RegisterForReflection
public class ForcedException {
}
							do-catch
						
@RegisterForReflection(targets = FileNotFoundException.class)
public class MyClass {
}
@RegisterForReflection(targets = FileNotFoundException.class)
public class MyClass {
}
2.84. Zip File Copiar o linkLink copiado para a área de transferência!
Compression and decompress streams using java.util.zip.ZipStream.
2.84.1. What’s inside Copiar o linkLink copiado para a área de transferência!
Please refer to the above link for usage and configuration details.
2.84.2. Maven coordinates Copiar o linkLink copiado para a área de transferência!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-zipfile</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-zipfile</artifactId>
</dependency>