= Extensions

Apache Camel Quarkus supports the following Camel artifacts as Quarkus Extensions

== Camel Components

// components: START
Number of Camel components: 22 in 18 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|===
| Component | Since | Description

| link:https://camel.apache.org/components/latest/aws-eks-component.html[AWS EKS] (camel-quarkus-aws-eks) +
`aws-eks:label` | 0.2 | The aws-kms is used for managing Amazon EKS

| link:https://camel.apache.org/components/latest/aws-s3-component.html[AWS S3 Storage Service] (camel-quarkus-aws-s3) +
`aws-s3://bucketNameOrArn` | 0.2 | The aws-s3 component is used for storing and retrieving object from Amazon S3 Storage Service.

| link:https://camel.apache.org/components/latest/aws-sns-component.html[AWS Simple Notification System] (camel-quarkus-aws-sns) +
`aws-sns:topicNameOrArn` | 0.2 | The aws-sns component is used for sending messages to an Amazon Simple Notification Topic.

| link:https://camel.apache.org/components/latest/aws-sqs-component.html[AWS Simple Queue Service] (camel-quarkus-aws-sqs) +
`aws-sqs:queueNameOrArn` | 0.2 | The aws-sqs component is used for sending and receiving messages to Amazon's SQS service.

| link:https://camel.apache.org/components/latest/bean-component.html[Bean] (camel-quarkus-bean) +
`bean:beanName` | 0.2 | The bean component is for invoking Java beans from Camel.

| link:https://camel.apache.org/components/latest/class-component.html[Class] (camel-quarkus-bean) +
`class:beanName` | 0.2 | The class component is for invoking Java classes (Java beans) from Camel.

| link:https://camel.apache.org/components/latest/direct-component.html[Direct] (camel-quarkus-direct) +
`direct:name` | 0.2 | The direct component provides direct, synchronous call to another endpoint from the same CamelContext.

| link:https://camel.apache.org/components/latest/infinispan-component.html[Infinispan] (camel-quarkus-infinispan) +
`infinispan:cacheName` | 0.2 | For reading/writing from/to Infinispan distributed key/value store and data grid.

| link:https://camel.apache.org/components/latest/jdbc-component.html[JDBC] (camel-quarkus-jdbc) +
`jdbc:dataSourceName` | 0.2 | The jdbc component enables you to access databases through JDBC, where SQL queries are sent in the message body.

| link:https://camel.apache.org/components/latest/log-component.html[Log] (camel-quarkus-log) +
`log:loggerName` | 0.2 | The log component logs message exchanges to the underlying logging mechanism.

| link:https://camel.apache.org/components/latest/mail-component.html[Mail] (camel-quarkus-mail) +
`imap:host:port` | 0.2 | To send or receive emails using imap/pop3 or smtp protocols.

| link:https://camel.apache.org/components/latest/microprofile-metrics-component.html[MicroProfile Metrics] (camel-quarkus-microprofile-metrics) +
`microprofile-metrics:metricType:metricName` | 0.2 | Camel metrics exposed with Eclipse MicroProfile Metrics

| link:https://camel.apache.org/components/latest/netty-http-component.html[Netty HTTP] (camel-quarkus-netty-http) +
`netty-http:protocol:host:port/path` | 0.2 | Netty HTTP server and client using the Netty 4.x library.

| link:https://camel.apache.org/components/latest/paho-component.html[Paho] (camel-quarkus-paho) +
`paho:topic` | 0.2 | Component for communicating with MQTT message brokers using Eclipse Paho MQTT Client.

| link:https://camel.apache.org/components/latest/rest-component.html[REST] (camel-quarkus-rest) +
`rest:method:path:uriTemplate` | 0.2 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).

| link:https://camel.apache.org/components/latest/rest-api-component.html[REST API] (camel-quarkus-rest) +
`rest-api:path/contextIdPattern` | 0.2 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.

| link:https://camel.apache.org/components/latest/salesforce-component.html[Salesforce] (camel-quarkus-salesforce) +
`salesforce:operationName:topicName` | 0.2 | The salesforce component is used for integrating Camel with the massive Salesforce API.

| link:https://camel.apache.org/components/latest/servlet-component.html[Servlet] (camel-quarkus-servlet) +
`servlet:contextPath` | 0.2 | To use a HTTP Servlet as entry for Camel routes when running in a servlet container.

| link:https://camel.apache.org/components/latest/timer-component.html[Timer] (camel-quarkus-timer) +
`timer:timerName` | 0.2 | The timer component is used for generating message exchanges when a timer fires.

| link:https://camel.apache.org/components/latest/twitter-directmessage-component.html[Twitter Direct Message] (camel-quarkus-twitter) +
`twitter-directmessage:user` | 0.2 | The Twitter Direct Message Component consumes/produces user's direct messages.

| link:https://camel.apache.org/components/latest/twitter-search-component.html[Twitter Search] (camel-quarkus-twitter) +
`twitter-search:keywords` | 0.2 | The Twitter Search component consumes search results.

| link:https://camel.apache.org/components/latest/twitter-timeline-component.html[Twitter Timeline] (camel-quarkus-twitter) +
`twitter-timeline:timelineType` | 0.2 | The Twitter Timeline component consumes twitter timeline or update the status of specific user.

|===
// components: END


== Camel Data Formats

// dataformats: START
Number of Camel data formats: 4 in 4 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|===
| Data Format | Since | Description

| link:https://camel.apache.org/components/latest/csv-dataformat.html[CSV] (camel-quarkus-csv) | 0.2 | The CSV data format is used for handling CSV payloads.

| link:https://camel.apache.org/components/latest/mime-multipart-dataformat.html[MIME Multipart] (camel-quarkus-mail) | 0.2 | The MIME Multipart data format is used for marshalling Camel messages with attachments into MIME-Multipart message, and vise-versa.

| link:https://camel.apache.org/components/latest/tarfile-dataformat.html[Tar File] (camel-quarkus-tarfile) | 0.2.1 | The Tar File data format is a message compression and de-compression format of tar files.

| link:https://camel.apache.org/components/latest/zipfile-dataformat.html[Zip File] (camel-quarkus-zipfile) | 0.2 | The Zip File data format is a message compression and de-compression format of zip files.
|===
// dataformats: END


== Camel Languages

// languages: START
Number of Camel languages: 8 in 2 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|===
| Language | Since | Description

| link:https://camel.apache.org/components/latest/bean-language.html[Bean method] (camel-quarkus-bean) | 0.2 | To use a Java bean (aka method call) in Camel expressions or predicates.

| link:https://camel.apache.org/components/latest/constant-language.html[Constant] (camel-quarkus-core) | 0.2 | To use a constant value in Camel expressions or predicates.

| link:https://camel.apache.org/components/latest/exchangeProperty-language.html[ExchangeProperty] (camel-quarkus-core) | 0.2 | To use a Camel Exchange property in expressions or predicates.

| link:https://camel.apache.org/components/latest/file-language.html[File] (camel-quarkus-core) | 0.2 | For expressions and predicates using the file/simple language.

| link:https://camel.apache.org/components/latest/header-language.html[Header] (camel-quarkus-core) | 0.2 | To use a Camel Message header in expressions or predicates.

| link:https://camel.apache.org/components/latest/ref-language.html[Ref] (camel-quarkus-core) | 0.2 | Reference to an existing Camel expression or predicate, which is looked up from the Camel registry.

| link:https://camel.apache.org/components/latest/simple-language.html[Simple] (camel-quarkus-core) | 0.2 | To use Camels built-in Simple language in Camel expressions or predicates.

| link:https://camel.apache.org/components/latest/tokenize-language.html[Tokenize] (camel-quarkus-core) | 0.2 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
|===
// languages: END


== Miscellaneous Extensions

// others: START
Number of miscellaneous extensions: 5 in 5 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|===
| Extension | Since | Description

| (camel-quarkus-core-cloud) | 0.2 | The Camel Quarkus core cloud module

| (camel-quarkus-platform-http) | 0.2.1 | HTTP platform component is used for integrating Camel HTTP with Quarkus HTTP layer

| (camel-quarkus-reactive-executor) | 0.2.1 | To use Quarkus reactive executor with Camel

| (camel-quarkus-microprofile-health) | 0.2.1 | Integration with the Quarkus MicroProfile Health extension

| (camel-quarkus-opentracing) | 0.2.1 | Distributed tracing using OpenTracing
|===
// others: END

