= Apache Camel Karaf features

Apache Camel Karaf supports the following Camel artifacts as Karaf features

== Camel Components

// components: START
Number of Camel components: 206 in 206 JAR artifacts (1 deprecated)

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

| xref:3.7.x@components::activemq-component.adoc[ActiveMQ] (camel-activemq) +
`activemq:destinationType:destinationName` | 1.0 | Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.

| xref:3.7.x@components::amqp-component.adoc[AMQP] (camel-amqp) +
`amqp:destinationType:destinationName` | 1.2 | Messaging with AMQP protocol using Apache QPid Client.

| xref:3.7.x@components::apns-component.adoc[APNS] (camel-apns) +
`apns:name` | 2.8 | Send notifications to Apple iOS devices.

| xref:3.7.x@components::arangodb-component.adoc[ArangoDb] (camel-arangodb) +
`arangodb:database` | 3.5 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database

| xref:3.7.x@components::as2-component.adoc[AS2] (camel-as2) +
`as2:apiName/methodName` | 2.22 | Transfer data securely and reliably using the AS2 protocol (RFC4130).

| xref:3.7.x@components::asterisk-component.adoc[Asterisk] (camel-asterisk) +
`asterisk:name` | 2.18 | Interact with Asterisk PBX Server.

| xref:3.7.x@components::ahc-component.adoc[Async HTTP Client (AHC)] (camel-ahc) +
`ahc:httpUri` | 2.8 | Call external HTTP services using Async Http Client.

| xref:3.7.x@components::ahc-ws-component.adoc[Async HTTP Client (AHC) Websocket] (camel-ahc-ws) +
`ahc-ws:httpUri` | 2.14 | Exchange data with external Websocket servers using Async Http Client.

| xref:3.7.x@components::atom-component.adoc[Atom] (camel-atom) +
`atom:feedUri` | 1.2 | Poll Atom RSS feeds.

| xref:3.7.x@components::avro-component.adoc[Avro RPC] (camel-avro-rpc) +
`avro:transport:host:port/messageName` | 2.10 | Produce or consume Apache Avro RPC services.

| xref:3.7.x@components::aws-cw-component.adoc[AWS CloudWatch] (camel-aws-cw) +
`aws-cw:namespace` | 2.11 | Send metrics to AWS CloudWatch.

| xref:3.7.x@components::aws-ddb-component.adoc[AWS DynamoDB] (camel-aws-ddb) +
`aws-ddb:tableName` | 2.10 | Store and retrieve data from AWS DynamoDB service.

| xref:3.7.x@components::aws-ec2-component.adoc[AWS Elastic Compute Cloud (EC2)] (camel-aws-ec2) +
`aws-ec2:label` | 2.16 | Manage AWS EC2 instances.

| xref:3.7.x@components::aws-ecs-component.adoc[AWS Elastic Container Service (ECS)] (camel-aws-ecs) +
`aws-ecs:label` | 3.0 | Manage AWS ECS cluster instances.

| xref:3.7.x@components::aws-eks-component.adoc[AWS Elastic Kubernetes Service (EKS)] (camel-aws-eks) +
`aws-eks:label` | 3.0 | Manage AWS EKS cluster instances.

| xref:3.7.x@components::aws-iam-component.adoc[AWS Identity and Access Management (IAM)] (camel-aws-iam) +
`aws-iam:label` | 2.23 | Manage AWS IAM instances.

| xref:3.7.x@components::aws-kms-component.adoc[AWS Key Management Service (KMS)] (camel-aws-kms) +
`aws-kms:label` | 2.21 | Manage keys stored in AWS KMS instances.

| xref:3.7.x@components::aws-kinesis-component.adoc[AWS Kinesis] (camel-aws-kinesis) +
`aws-kinesis:streamName` | 2.17 | Consume and produce records from AWS Kinesis Streams.

| xref:3.7.x@components::aws-lambda-component.adoc[AWS Lambda] (camel-aws-lambda) +
`aws-lambda:function` | 2.20 | Manage and invoke AWS Lambda functions.

| xref:3.7.x@components::aws-msk-component.adoc[AWS Managed Streaming for Apache Kafka (MSK)] (camel-aws-msk) +
`aws-msk:label` | 3.0 | Manage AWS MSK instances.

| xref:3.7.x@components::aws-mq-component.adoc[AWS MQ] (camel-aws-mq) +
`aws-mq:label` | 2.21 | Manage AWS MQ instances.

| xref:3.7.x@components::aws-s3-component.adoc[AWS S3 Storage Service] (camel-aws-s3) +
`aws-s3://bucketNameOrArn` | 2.8 | Store and retrieve objects from AWS S3 Storage Service.

| xref:3.7.x@components::aws-ses-component.adoc[AWS Simple Email Service (SES)] (camel-aws-ses) +
`aws-ses:from` | 2.9 | Send e-mails through AWS SES service.

| xref:3.7.x@components::aws-sns-component.adoc[AWS Simple Notification System (SNS)] (camel-aws-sns) +
`aws-sns:topicNameOrArn` | 2.8 | Send messages to an AWS Simple Notification Topic.

| xref:3.7.x@components::aws-sqs-component.adoc[AWS Simple Queue Service (SQS)] (camel-aws-sqs) +
`aws-sqs:queueNameOrArn` | 2.6 | Sending and receive messages to/from AWS SQS service.

| xref:3.7.x@components::aws-swf-component.adoc[AWS Simple Workflow (SWF)] (camel-aws-swf) +
`aws-swf:type` | 2.13 | Manage workflows in the AWS Simple Workflow service.

| xref:3.7.x@components::aws-sdb-component.adoc[AWS SimpleDB] (camel-aws-sdb) +
`aws-sdb:domainName` | 2.9 | Store and Retrieve data from/to AWS SDB service.

| xref:3.7.x@components::aws-translate-component.adoc[AWS Translate] (camel-aws-translate) +
`aws-translate:label` | 3.0 | Translate texts using AWS Translate.

| xref:3.7.x@components::azure-eventhubs-component.adoc[Azure Event Hubs] (camel-azure-eventhubs) +
`azure-eventhubs:namespace/eventHubName` | 3.5 | The azure-eventhubs component that integrates Azure Event Hubs using AMQP protocol. Azure EventHubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them to multiple consumers.

| xref:3.7.x@components::azure-storage-blob-component.adoc[Azure Storage Blob Service] (camel-azure-storage-blob) +
`azure-storage-blob:accountName/containerName` | 3.3 | Store and retrieve blobs from Azure Storage Blob Service using SDK v12.

| xref:3.7.x@components::azure-storage-queue-component.adoc[Azure Storage Queue Service] (camel-azure-storage-queue) +
`azure-storage-queue:accountName/queueName` | 3.3 | The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.

| xref:3.7.x@components::bean-component.adoc[Bean] (camel-bean) +
`bean:beanName` | 1.0 | Invoke methods of Java beans stored in Camel registry.

| xref:3.7.x@components::bean-validator-component.adoc[Bean Validator] (camel-bean-validator) +
`bean-validator:label` | 2.3 | Validate the message body using the Java Bean Validation API.

| xref:3.7.x@components::beanstalk-component.adoc[Beanstalk] (camel-beanstalk) +
`beanstalk:connectionSettings` | 2.15 | Retrieve and post-process Beanstalk jobs.

| xref:3.7.x@components::box-component.adoc[Box] (camel-box) +
`box:apiName/methodName` | 2.14 | Upload, download and manage files, folders, groups, collaborations, etc. on box.com.

| xref:3.7.x@components::braintree-component.adoc[Braintree] (camel-braintree) +
`braintree:apiName/methodName` | 2.17 | Process payments using Braintree Payments.

| xref:3.7.x@components::browse-component.adoc[Browse] (camel-browse) +
`browse:name` | 1.3 | Inspect the messages received on endpoints supporting BrowsableEndpoint.

| xref:3.7.x@components::chatscript-component.adoc[ChatScript] (camel-chatscript) +
`chatscript:host:port/botName` | 3.0 | Chat with a ChatScript Server.

| xref:3.7.x@components::chunk-component.adoc[Chunk] (camel-chunk) +
`chunk:resourceUri` | 2.15 | Transform messages using Chunk templating engine.

| xref:3.7.x@components::cm-sms-component.adoc[CM SMS Gateway] (camel-cm-sms) +
`cm-sms:host` | 2.18 | Send SMS messages via CM SMS Gateway.

| xref:3.7.x@components::cmis-component.adoc[CMIS] (camel-cmis) +
`cmis:cmsUrl` | 2.11 | Read and write data from to/from a CMIS compliant content repositories.

| xref:3.7.x@components::coap-component.adoc[CoAP] (camel-coap) +
`coap:uri` | 2.16 | Send and receive messages to/from COAP capable devices.

| xref:3.7.x@components::cometd-component.adoc[CometD] (camel-cometd) +
`cometd:host:port/channelName` | 2.0 | Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.

| xref:3.7.x@components::consul-component.adoc[Consul] (camel-consul) +
`consul:apiEndpoint` | 2.18 | Integrate with Consul service discovery and configuration store.

| xref:3.7.x@components::controlbus-component.adoc[Control Bus] (camel-controlbus) +
`controlbus:command:language` | 2.11 | Manage and monitor Camel routes.

| xref:3.7.x@components::corda-component.adoc[Corda] (camel-corda) +
`corda:node` | 2.23 | Perform operations against Corda blockchain platform using corda-rpc library.

| xref:3.7.x@components::couchdb-component.adoc[CouchDB] (camel-couchdb) +
`couchdb:protocol:hostname:port/database` | 2.11 | Consume changesets for inserts, updates and deletes in a CouchDB database, as well as get, save, update and delete documents from a CouchDB database.

| xref:3.7.x@components::cron-component.adoc[Cron] (camel-cron) +
`cron:name` | 3.1 | A generic interface for triggering events at times specified through the Unix cron syntax.

| xref:3.7.x@components::crypto-component.adoc[Crypto (JCE)] (camel-crypto) +
`crypto:cryptoOperation:name` | 2.3 | Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE).

| xref:3.7.x@components::crypto-cms-component.adoc[Crypto CMS] (camel-crypto-cms) +
`crypto-cms:cryptoOperation:name` | 2.20 | *deprecated* Encrypt, decrypt, sign and verify data in CMS Enveloped Data format.

| xref:3.7.x@components::cxf-component.adoc[CXF] (camel-cxf) +
`cxf:beanId:address` | 1.0 | Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.

| xref:3.7.x@components::dataformat-component.adoc[Data Format] (camel-dataformat) +
`dataformat:name:operation` | 2.12 | Use a Camel Data Format as a regular Camel Component.

| xref:3.7.x@components::dataset-component.adoc[Dataset] (camel-dataset) +
`dataset:name` | 1.3 | Provide data for load and soak testing of your Camel application.

| xref:3.7.x@components::djl-component.adoc[Deep Java Library] (camel-djl) +
`djl:application` | 3.3 | Infer Deep Learning models from message exchanges data using Deep Java Library (DJL).

| xref:3.7.x@components::digitalocean-component.adoc[DigitalOcean] (camel-digitalocean) +
`digitalocean:operation` | 2.19 | Manage Droplets and resources within the DigitalOcean cloud.

| xref:3.7.x@components::direct-component.adoc[Direct] (camel-direct) +
`direct:name` | 1.0 | Call another endpoint from the same Camel Context synchronously.

| xref:3.7.x@components::disruptor-component.adoc[Disruptor] (camel-disruptor) +
`disruptor:name` | 2.12 | Provides asynchronous SEDA behavior using LMAX Disruptor.

| xref:3.7.x@components::dns-component.adoc[DNS] (camel-dns) +
`dns:dnsType` | 2.7 | Perform DNS queries using DNSJava.

| xref:3.7.x@components::docker-component.adoc[Docker] (camel-docker) +
`docker:operation` | 2.15 | Manage Docker containers.

| xref:3.7.x@components::dozer-component.adoc[Dozer] (camel-dozer) +
`dozer:name` | 2.15 | Map between Java beans using the Dozer mapping library.

| xref:3.7.x@components::drill-component.adoc[Drill] (camel-drill) +
`drill:host` | 2.19 | Perform queries against an Apache Drill cluster.

| xref:3.7.x@components::dropbox-component.adoc[Dropbox] (camel-dropbox) +
`dropbox:operation` | 2.14 | Upload, download and manage files, folders, groups, collaborations, etc on Dropbox.

| xref:3.7.x@components::ehcache-component.adoc[Ehcache] (camel-ehcache) +
`ehcache:cacheName` | 2.18 | Perform caching operations using Ehcache.

| xref:3.7.x@components::elasticsearch-rest-component.adoc[Elasticsearch Rest] (camel-elasticsearch-rest) +
`elasticsearch-rest:clusterName` | 2.21 | Send requests to with an ElasticSearch via REST API.

| xref:3.7.x@components::elsql-component.adoc[ElSQL] (camel-elsql) +
`elsql:elsqlName:resourceUri` | 2.16 | Use ElSql to define SQL queries. Extends the SQL Component.

| xref:3.7.x@components::exec-component.adoc[Exec] (camel-exec) +
`exec:executable` | 2.3 | Execute commands on the underlying operating system.

| xref:3.7.x@components::facebook-component.adoc[Facebook] (camel-facebook) +
`facebook:methodName` | 2.14 | Send requests to Facebook APIs supported by Facebook4J.

| xref:3.7.x@components::file-component.adoc[File] (camel-file) +
`file:directoryName` | 1.0 | Read and write files.

| xref:3.7.x@components::file-watch-component.adoc[File Watch] (camel-file-watch) +
`file-watch:path` | 3.0 | Get notified about file events in a directory using java.nio.file.WatchService.

| xref:3.7.x@components::flatpack-component.adoc[Flatpack] (camel-flatpack) +
`flatpack:type:resourceUri` | 1.4 | Parse fixed width and delimited files using the FlatPack library.

| xref:3.7.x@components::fop-component.adoc[FOP] (camel-fop) +
`fop:outputType` | 2.10 | Render messages into PDF and other output formats supported by Apache FOP.

| xref:3.7.x@components::freemarker-component.adoc[Freemarker] (camel-freemarker) +
`freemarker:resourceUri` | 2.10 | Transform messages using FreeMarker templates.

| xref:3.7.x@components::ftp-component.adoc[FTP] (camel-ftp) +
`ftp:host:port/directoryName` | 1.1 | Upload and download files to/from FTP servers.

| xref:3.7.x@components::ganglia-component.adoc[Ganglia] (camel-ganglia) +
`ganglia:host:port` | 2.15 | Send metrics to Ganglia monitoring system.

| xref:3.7.x@components::geocoder-component.adoc[Geocoder] (camel-geocoder) +
`geocoder:address:latlng` | 2.12 | Find geocodes (latitude and longitude) for a given address or the other way round.

| xref:3.7.x@components::git-component.adoc[Git] (camel-git) +
`git:localPath` | 2.16 | Perform operations on git repositories.

| xref:3.7.x@components::github-component.adoc[GitHub] (camel-github) +
`github:type/branchName` | 2.15 | Interact with the GitHub API.

| xref:3.7.x@components::google-bigquery-component.adoc[Google BigQuery] (camel-google-bigquery) +
`google-bigquery:projectId:datasetId:tableId` | 2.20 | Google BigQuery data warehouse for analytics.

| xref:3.7.x@components::google-calendar-component.adoc[Google Calendar] (camel-google-calendar) +
`google-calendar:apiName/methodName` | 2.15 | Perform various operations on a Google Calendar.

| xref:3.7.x@components::google-drive-component.adoc[Google Drive] (camel-google-drive) +
`google-drive:apiName/methodName` | 2.14 | Manage files in Google Drive.

| xref:3.7.x@components::google-mail-component.adoc[Google Mail] (camel-google-mail) +
`google-mail:apiName/methodName` | 2.15 | Manage messages in Google Mail.

| xref:3.7.x@components::google-sheets-component.adoc[Google Sheets] (camel-google-sheets) +
`google-sheets:apiName/methodName` | 2.23 | Manage spreadsheets in Google Sheets.

| xref:3.7.x@components::grape-component.adoc[Grape] (camel-grape) +
`grape:defaultCoordinates` | 2.16 | Fetch, load and manage additional jars dynamically after Camel Context was started.

| xref:3.7.x@components::graphql-component.adoc[GraphQL] (camel-graphql) +
`graphql:httpUri` | 3.0 | Send GraphQL queries and mutations to external systems.

| xref:3.7.x@components::grpc-component.adoc[gRPC] (camel-grpc) +
`grpc:host:port/service` | 2.19 | Expose gRPC endpoints and access external gRPC endpoints.

| xref:3.7.x@components::guava-eventbus-component.adoc[Guava EventBus] (camel-guava-eventbus) +
`guava-eventbus:eventBusRef` | 2.10 | Send and receive messages to/from Guava EventBus.

| xref:3.7.x@components::http-component.adoc[HTTP] (camel-http) +
`http:httpUri` | 2.3 | Send requests to external HTTP servers using Apache HTTP Client 4.x.

| xref:3.7.x@components::influxdb-component.adoc[InfluxDB] (camel-influxdb) +
`influxdb:connectionBean` | 2.18 | Interact with InfluxDB, a time series database.

| xref:3.7.x@components::iota-component.adoc[IOTA] (camel-iota) +
`iota:name` | 2.23 | Manage financial transactions using IOTA distributed ledger.

| xref:3.7.x@components::irc-component.adoc[IRC] (camel-irc) +
`irc:hostname:port` | 1.1 | Send and receive messages to/from and IRC chat.

| xref:3.7.x@components::ironmq-component.adoc[IronMQ] (camel-ironmq) +
`ironmq:queueName` | 2.17 | Send and receive messages to/from IronMQ an elastic and durable hosted message queue as a service.

| xref:3.7.x@components::websocket-jsr356-component.adoc[Javax Websocket] (camel-websocket-jsr356) +
`websocket-jsr356:uri` | 2.23 | Expose websocket endpoints using JSR356.

| xref:3.7.x@components::jcache-component.adoc[JCache] (camel-jcache) +
`jcache:cacheName` | 2.17 | Perform caching operations against JSR107/JCache.

| xref:3.7.x@components::jclouds-component.adoc[JClouds] (camel-jclouds) +
`jclouds:command:providerId` | 2.9 | Interact with jclouds compute and blobstore service.

| xref:3.7.x@components::jcr-component.adoc[JCR] (camel-jcr) +
`jcr:host/base` | 1.3 | Read and write nodes to/from a JCR compliant content repository.

| xref:3.7.x@components::jdbc-component.adoc[JDBC] (camel-jdbc) +
`jdbc:dataSourceName` | 1.2 | Access databases through SQL and JDBC.

| xref:3.7.x@components::jetty-component.adoc[Jetty] (camel-jetty) +
`jetty:httpUri` | 1.2 | Expose HTTP endpoints using Jetty 9.

| xref:3.7.x@components::websocket-component.adoc[Jetty Websocket] (camel-websocket) +
`websocket:host:port/resourceUri` | 2.10 | Expose websocket endpoints using Jetty.

| xref:3.7.x@components::jing-component.adoc[Jing] (camel-jing) +
`jing:resourceUri` | 1.1 | Validate XML against a RelaxNG schema (XML Syntax or Compact Syntax) using Jing library.

| xref:3.7.x@components::jms-component.adoc[JMS] (camel-jms) +
`jms:destinationType:destinationName` | 1.0 | Sent and receive messages to/from a JMS Queue or Topic.

| xref:3.7.x@components::jmx-component.adoc[JMX] (camel-jmx) +
`jmx:serverURL` | 2.6 | Receive JMX notifications.

| xref:3.7.x@components::jolt-component.adoc[JOLT] (camel-jolt) +
`jolt:resourceUri` | 2.16 | JSON to JSON transformation using JOLT.

| xref:3.7.x@components::jooq-component.adoc[JOOQ] (camel-jooq) +
`jooq:entityType` | 3.0 | Store and retrieve Java objects from an SQL database using JOOQ.

| xref:3.7.x@components::jpa-component.adoc[JPA] (camel-jpa) +
`jpa:entityType` | 1.0 | Store and retrieve Java objects from databases using Java Persistence API (JPA).

| xref:3.7.x@components::jslt-component.adoc[JSLT] (camel-jslt) +
`jslt:resourceUri` | 3.1 | Query or transform JSON payloads using an JSLT.

| xref:3.7.x@components::json-validator-component.adoc[JSON Schema Validator] (camel-json-validator) +
`json-validator:resourceUri` | 2.20 | Validate JSON payloads using NetworkNT JSON Schema.

| xref:3.7.x@components::jsonata-component.adoc[JSONATA] (camel-jsonata) +
`jsonata:resourceUri` | 3.5 | JSON to JSON transformation using JSONATA.

| xref:3.7.x@components::jt400-component.adoc[JT400] (camel-jt400) +
`jt400:userID:password/systemName/objectPath.type` | 1.5 | Exchanges messages with an IBM i system using data queues, message queues, or program call. IBM i is the replacement for AS/400 and iSeries servers.

| xref:3.7.x@components::kafka-component.adoc[Kafka] (camel-kafka) +
`kafka:topic` | 2.13 | Sent and receive messages to/from an Apache Kafka broker.

| xref:3.7.x@components::kudu-component.adoc[Kudu] (camel-kudu) +
`kudu:host:port/tableName` | 3.0 | Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem.

| xref:3.7.x@components::language-component.adoc[Language] (camel-language) +
`language:languageName:resourceUri` | 2.5 | Execute scripts in any of the languages supported by Camel.

| xref:3.7.x@components::ldap-component.adoc[LDAP] (camel-ldap) +
`ldap:dirContextName` | 1.5 | Perform searches on LDAP servers.

| xref:3.7.x@components::ldif-component.adoc[LDIF] (camel-ldif) +
`ldif:ldapConnectionName` | 2.20 | Perform updates on an LDAP server from an LDIF body content.

| xref:3.7.x@components::log-component.adoc[Log] (camel-log) +
`log:loggerName` | 1.1 | Log messages to the underlying logging mechanism.

| xref:3.7.x@components::lucene-component.adoc[Lucene] (camel-lucene) +
`lucene:host:operation` | 2.2 | Perform inserts or queries against Apache Lucene databases.

| xref:3.7.x@components::lumberjack-component.adoc[Lumberjack] (camel-lumberjack) +
`lumberjack:host:port` | 2.18 | Receive logs messages using the Lumberjack protocol.

| xref:3.7.x@components::master-component.adoc[Master] (camel-master) +
`master:namespace:delegateUri` | 2.20 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.

| xref:3.7.x@components::metrics-component.adoc[Metrics] (camel-metrics) +
`metrics:metricsType:metricsName` | 2.14 | Collect various metrics directly from Camel routes using the DropWizard metrics library.

| xref:3.7.x@components::micrometer-component.adoc[Micrometer] (camel-micrometer) +
`micrometer:metricsType:metricsName` | 2.22 | Collect various metrics directly from Camel routes using the Micrometer library.

| xref:3.7.x@components::mina-component.adoc[Mina] (camel-mina) +
`mina:protocol:host:port` | 2.10 | Socket level networking using TCP or UDP with Apache Mina 2.x.

| xref:3.7.x@components::minio-component.adoc[Minio] (camel-minio) +
`minio:bucketName` | 3.5 | Store and retrieve objects from Minio Storage Service using Minio SDK.

| xref:3.7.x@components::mllp-component.adoc[MLLP] (camel-mllp) +
`mllp:hostname:port` | 2.17 | Communicate with external systems using the MLLP protocol.

| xref:3.7.x@components::mock-component.adoc[Mock] (camel-mock) +
`mock:name` | 1.0 | Test routes and mediation rules using mocks.

| xref:3.7.x@components::mongodb-component.adoc[MongoDB] (camel-mongodb) +
`mongodb:connectionBean` | 2.19 | Perform operations on MongoDB documents and collections.

| xref:3.7.x@components::mongodb-gridfs-component.adoc[MongoDB GridFS] (camel-mongodb-gridfs) +
`mongodb-gridfs:connectionBean` | 2.18 | Interact with MongoDB GridFS.

| xref:3.7.x@components::msv-component.adoc[MSV] (camel-msv) +
`msv:resourceUri` | 1.1 | Validate XML payloads using Multi-Schema Validator (MSV).

| xref:3.7.x@components::mustache-component.adoc[Mustache] (camel-mustache) +
`mustache:resourceUri` | 2.12 | Transform messages using a Mustache template.

| xref:3.7.x@components::mvel-component.adoc[MVEL] (camel-mvel) +
`mvel:resourceUri` | 2.12 | Transform messages using an MVEL template.

| xref:3.7.x@components::mybatis-component.adoc[MyBatis] (camel-mybatis) +
`mybatis:statement` | 2.7 | Performs a query, poll, insert, update or delete in a relational database using MyBatis.

| xref:3.7.x@components::nagios-component.adoc[Nagios] (camel-nagios) +
`nagios:host:port` | 2.3 | Send passive checks to Nagios using JSendNSCA.

| xref:3.7.x@components::nats-component.adoc[Nats] (camel-nats) +
`nats:topic` | 2.17 | Send and receive messages from NATS messaging system.

| xref:3.7.x@components::netty-component.adoc[Netty] (camel-netty) +
`netty:protocol:host:port` | 2.14 | Socket level networking using TCP or UDP with the Netty 4.x.

| xref:3.7.x@components::netty-http-component.adoc[Netty HTTP] (camel-netty-http) +
`netty-http:protocol:host:port/path` | 2.14 | Netty HTTP server and client using the Netty 4.x.

| xref:3.7.x@components::nitrite-component.adoc[Nitrite] (camel-nitrite) +
`nitrite:database` | 3.0 | Access Nitrite databases.

| xref:3.7.x@components::nsq-component.adoc[NSQ] (camel-nsq) +
`nsq:topic` | 2.23 | Send and receive messages from NSQ realtime distributed messaging platform.

| xref:3.7.x@components::olingo2-component.adoc[Olingo2] (camel-olingo2) +
`olingo2:apiName/methodName` | 2.14 | Communicate with OData 2.0 services using Apache Olingo.

| xref:3.7.x@components::olingo4-component.adoc[Olingo4] (camel-olingo4) +
`olingo4:apiName/methodName` | 2.19 | Communicate with OData 4.0 services using Apache Olingo OData API.

| xref:3.7.x@camel-karaf::eventadmin-component.adoc[OSGi EventAdmin] (camel-eventadmin) +
`eventadmin:topic` | 2.6 | The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them.

| xref:3.7.x@camel-karaf::paxlogging-component.adoc[OSGi PAX Logging] (camel-paxlogging) +
`paxlogging:appender` | 2.6 | The paxlogging component can be used in an OSGi environment to receive PaxLogging events and process them.

| xref:3.7.x@components::paho-component.adoc[Paho] (camel-paho) +
`paho:topic` | 2.16 | Communicate with MQTT message brokers using Eclipse Paho MQTT Client.

| xref:3.7.x@components::pdf-component.adoc[PDF] (camel-pdf) +
`pdf:operation` | 2.16 | Create, modify or extract content from PDF documents.

| xref:3.7.x@components::pgevent-component.adoc[PostgresSQL Event] (camel-pgevent) +
`pgevent:host:port/database/channel` | 2.15 | Send and receive PostgreSQL events via LISTEN and NOTIFY commands.

| xref:3.7.x@components::pg-replication-slot-component.adoc[PostgresSQL Replication Slot] (camel-pg-replication-slot) +
`pg-replication-slot:host:port/database/slot:outputPlugin` | 3.0 | Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.

| xref:3.7.x@components::pubnub-component.adoc[PubNub] (camel-pubnub) +
`pubnub:channel` | 2.19 | Send and receive messages to/from PubNub data stream network for connected devices.

| xref:3.7.x@components::quartz-component.adoc[Quartz] (camel-quartz) +
`quartz:groupName/triggerName` | 2.12 | Schedule sending of messages using the Quartz 2.x scheduler.

| xref:3.7.x@components::quickfix-component.adoc[QuickFix] (camel-quickfix) +
`quickfix:configurationName` | 2.1 | Open a Financial Interchange (FIX) session using an embedded QuickFix/J engine.

| xref:3.7.x@components::rabbitmq-component.adoc[RabbitMQ] (camel-rabbitmq) +
`rabbitmq:exchangeName` | 2.12 | Send and receive messages from RabbitMQ instances.

| xref:3.7.x@components::reactive-streams-component.adoc[Reactive Streams] (camel-reactive-streams) +
`reactive-streams:stream` | 2.19 | Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.

| xref:3.7.x@components::ref-component.adoc[Ref] (camel-ref) +
`ref:name` | 1.2 | Route messages to an endpoint looked up dynamically by name in the Camel Registry.

| xref:3.7.x@components::rest-component.adoc[REST] (camel-rest) +
`rest:method:path:uriTemplate` | 2.14 | Expose REST services or call external REST services.

| xref:3.7.x@components::rest-openapi-component.adoc[REST OpenApi] (camel-rest-openapi) +
`rest-openapi:specificationUri#operationId` | 3.1 | Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.

| xref:3.7.x@components::rest-swagger-component.adoc[REST Swagger] (camel-rest-swagger) +
`rest-swagger:specificationUri#operationId` | 2.19 | Configure REST producers based on a Swagger (OpenAPI) specification document delegating to a component implementing the RestProducerFactory interface.

| xref:3.7.x@components::robotframework-component.adoc[Robot Framework] (camel-robotframework) +
`robotframework:resourceUri` | 3.0 | Pass camel exchanges to acceptence test written in Robot DSL.

| xref:3.7.x@components::rss-component.adoc[RSS] (camel-rss) +
`rss:feedUri` | 2.0 | Poll RSS feeds.

| xref:3.7.x@components::saga-component.adoc[Saga] (camel-saga) +
`saga:action` | 2.21 | Execute custom actions within a route using the Saga EIP.

| xref:3.7.x@components::salesforce-component.adoc[Salesforce] (camel-salesforce) +
`salesforce:operationName:topicName` | 2.12 | Communicate with Salesforce using Java DTOs.

| xref:3.7.x@components::sap-netweaver-component.adoc[SAP NetWeaver] (camel-sap-netweaver) +
`sap-netweaver:url` | 2.12 | Send requests to SAP NetWeaver Gateway using HTTP.

| xref:3.7.x@components::scheduler-component.adoc[Scheduler] (camel-scheduler) +
`scheduler:name` | 2.15 | Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.

| xref:3.7.x@components::schematron-component.adoc[Schematron] (camel-schematron) +
`schematron:path` | 2.15 | Validate XML payload using the Schematron Library.

| xref:3.7.x@components::seda-component.adoc[SEDA] (camel-seda) +
`seda:name` | 1.1 | Asynchronously call another endpoint from any Camel Context in the same JVM.

| xref:3.7.x@components::service-component.adoc[Service] (camel-service) +
`service:delegateUri` | 2.22 | Register a Camel endpoint to a Service Registry (such as Consul, Etcd) and delegate to it.

| xref:3.7.x@components::servicenow-component.adoc[ServiceNow] (camel-servicenow) +
`servicenow:instanceName` | 2.18 | Interact with ServiceNow via its REST API.

| xref:3.7.x@components::servlet-component.adoc[Servlet] (camel-servlet) +
`servlet:contextPath` | 2.0 | Serve HTTP requests by a Servlet.

| xref:3.7.x@components::sjms-component.adoc[Simple JMS] (camel-sjms) +
`sjms:destinationType:destinationName` | 2.11 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 1.x API.

| xref:3.7.x@components::sjms2-component.adoc[Simple JMS2] (camel-sjms2) +
`sjms2:destinationType:destinationName` | 2.19 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 2.x API.

| xref:3.7.x@components::sip-component.adoc[SIP] (camel-sip) +
`sip:uri` | 2.5 | Send and receive messages using the SIP protocol (used in telecommunications).

| xref:3.7.x@components::slack-component.adoc[Slack] (camel-slack) +
`slack:channel` | 2.16 | Send and receive messages to/from Slack.

| xref:3.7.x@components::smpp-component.adoc[SMPP] (camel-smpp) +
`smpp:host:port` | 2.2 | Send and receive SMS messages using a SMSC (Short Message Service Center).

| xref:3.7.x@components::snmp-component.adoc[SNMP] (camel-snmp) +
`snmp:host:port` | 2.1 | Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.

| xref:3.7.x@components::solr-component.adoc[Solr] (camel-solr) +
`solr:url` | 2.9 | Perform operations against Apache Lucene Solr.

| xref:3.7.x@components::soroush-component.adoc[Soroush] (camel-soroush) +
`soroush:action` | 3.0 | Send and receive messages as a Soroush chat bot.

| xref:3.7.x@components::splunk-component.adoc[Splunk] (camel-splunk) +
`splunk:name` | 2.13 | Publish or search for events in Splunk.

| xref:3.7.x@components::spring-batch-component.adoc[Spring Batch] (camel-spring-batch) +
`spring-batch:jobName` | 2.10 | Send messages to Spring Batch for further processing.

| xref:3.7.x@components::spring-ldap-component.adoc[Spring LDAP] (camel-spring-ldap) +
`spring-ldap:templateName` | 2.11 | Perform searches in LDAP servers using filters as the message payload.

| xref:3.7.x@components::spring-redis-component.adoc[Spring Redis] (camel-spring-redis) +
`spring-redis:host:port` | 2.11 | Send and receive messages from Redis.

| xref:3.7.x@components::spring-ws-component.adoc[Spring WebService] (camel-spring-ws) +
`spring-ws:type:lookupKey:webServiceEndpointUri` | 2.6 | Access external web services as a client or expose your own web services.

| xref:3.7.x@components::sql-component.adoc[SQL] (camel-sql) +
`sql:query` | 1.4 | Perform SQL queries using Spring JDBC.

| xref:3.7.x@components::ssh-component.adoc[SSH] (camel-ssh) +
`ssh:host:port` | 2.10 | Execute commands on remote hosts using SSH.

| xref:3.7.x@components::stax-component.adoc[StAX] (camel-stax) +
`stax:contentHandlerClass` | 2.9 | Process XML payloads by a SAX ContentHandler.

| xref:3.7.x@components::stomp-component.adoc[Stomp] (camel-stomp) +
`stomp:destination` | 2.12 | Send and rececive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.

| xref:3.7.x@components::stream-component.adoc[Stream] (camel-stream) +
`stream:kind` | 1.3 | Read from system-in and write to system-out and system-err streams.

| xref:3.7.x@components::string-template-component.adoc[String Template] (camel-stringtemplate) +
`string-template:resourceUri` | 1.2 | Transform messages using StringTemplate engine.

| xref:3.7.x@components::stub-component.adoc[Stub] (camel-stub) +
`stub:name` | 2.10 | Stub out any physical endpoints while in development or testing.

| xref:3.7.x@components::telegram-component.adoc[Telegram] (camel-telegram) +
`telegram:type` | 2.18 | Send and receive messages acting as a Telegram Bot Telegram Bot API.

| xref:3.7.x@components::thrift-component.adoc[Thrift] (camel-thrift) +
`thrift:host:port/service` | 2.20 | Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism.

| xref:3.7.x@components::tika-component.adoc[Tika] (camel-tika) +
`tika:operation` | 2.19 | Parse documents and extract metadata and text using Apache Tika.

| xref:3.7.x@components::timer-component.adoc[Timer] (camel-timer) +
`timer:timerName` | 1.0 | Generate messages in specified intervals using java.util.Timer.

| xref:3.7.x@components::twilio-component.adoc[Twilio] (camel-twilio) +
`twilio:apiName/methodName` | 2.20 | Interact with Twilio REST APIs using Twilio Java SDK.

| xref:3.7.x@components::validator-component.adoc[Validator] (camel-validator) +
`validator:resourceUri` | 1.1 | Validate the payload using XML Schema and JAXP Validation.

| xref:3.7.x@components::velocity-component.adoc[Velocity] (camel-velocity) +
`velocity:resourceUri` | 1.2 | Transform messages using a Velocity template.

| xref:3.7.x@components::vertx-component.adoc[Vert.x] (camel-vertx) +
`vertx:address` | 2.12 | Send and receive messages to/from Vert.x Event Bus.

| xref:3.7.x@components::vm-component.adoc[VM] (camel-vm) +
`vm:name` | 1.1 | Call another endpoint in the same CamelContext asynchronously.

| xref:3.7.x@components::weather-component.adoc[Weather] (camel-weather) +
`weather:name` | 2.12 | Poll the weather information from Open Weather Map.

| xref:3.7.x@components::web3j-component.adoc[Web3j Ethereum Blockchain] (camel-web3j) +
`web3j:nodeAddress` | 2.22 | Interact with Ethereum nodes using web3j client API.

| xref:3.7.x@components::webhook-component.adoc[Webhook] (camel-webhook) +
`webhook:endpointUri` | 3.0 | Expose webhook endpoints to receive push notifications for other Camel components.

| xref:3.7.x@components::wordpress-component.adoc[Wordpress] (camel-wordpress) +
`wordpress:operation` | 2.21 | Manage posts and users using Wordpress API.

| xref:3.7.x@components::workday-component.adoc[Workday] (camel-workday) +
`workday:entity:path` | 3.1 | Detect and parse documents using Workday.

| xref:3.7.x@components::xchange-component.adoc[XChange] (camel-xchange) +
`xchange:name` | 2.21 | Access market data and trade on Bitcoin and Altcoin exchanges.

| xref:3.7.x@components::xj-component.adoc[XJ] (camel-xj) +
`xj:resourceUri` | 3.0 | Transform JSON and XML message using a XSLT.

| xref:3.7.x@components::xmpp-component.adoc[XMPP] (camel-xmpp) +
`xmpp:host:port/participant` | 1.0 | Send and receive messages to/from an XMPP chat server.

| xref:3.7.x@components::xslt-component.adoc[XSLT] (camel-xslt) +
`xslt:resourceUri` | 1.3 | Transforms XML payload using an XSLT template.

| xref:3.7.x@components::xslt-saxon-component.adoc[XSLT Saxon] (camel-xslt-saxon) +
`xslt-saxon:resourceUri` | 3.0 | Transform XML payloads using an XSLT template using Saxon.

| xref:3.7.x@components::yammer-component.adoc[Yammer] (camel-yammer) +
`yammer:function` | 2.12 | Interact with the Yammer enterprise social network.

| xref:3.7.x@components::zendesk-component.adoc[Zendesk] (camel-zendesk) +
`zendesk:methodName` | 2.19 | Manage Zendesk tickets, users, organizations, etc.

| xref:3.7.x@components::zookeeper-component.adoc[ZooKeeper] (camel-zookeeper) +
`zookeeper:serverUrls/path` | 2.9 | Manage ZooKeeper clusters.

| xref:3.7.x@components::zookeeper-master-component.adoc[ZooKeeper Master] (camel-zookeeper-master) +
`zookeeper-master:groupName:consumerEndpointUri` | 2.19 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.

|===
// components: END

== Camel Data Formats

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

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

| xref:3.7.x@components:dataformats:any23-dataformat.adoc[Any23] +
(camel-any23) | 3.0 | Extract RDF data from HTML documents.

| xref:3.7.x@components:dataformats:asn1-dataformat.adoc[ASN.1 File] +
(camel-asn1) | 2.20 | Encode and decode data structures using Abstract Syntax Notation One (ASN.1).

| xref:3.7.x@components:dataformats:avro-dataformat.adoc[Avro] +
(camel-avro) | 2.14 | Serialize and deserialize messages using Apache Avro binary data format.

| xref:3.7.x@components:dataformats:barcode-dataformat.adoc[Barcode] +
(camel-barcode) | 2.14 | Transform strings to various 1D/2D barcode bitmap formats and back.

| xref:3.7.x@components:dataformats:base64-dataformat.adoc[Base64] +
(camel-base64) | 2.11 | Encode and decode data using Base64.

| xref:3.7.x@components:dataformats:beanio-dataformat.adoc[BeanIO] +
(camel-beanio) | 2.10 | Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats).

| xref:3.7.x@components:dataformats:bindy-dataformat.adoc[Bindy CSV] +
(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and Comma separated values (CSV) format using Camel Bindy

| xref:3.7.x@components:dataformats:bindy-dataformat.adoc[Bindy Fixed Length] +
(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and fixed field length format using Camel Bindy

| xref:3.7.x@components:dataformats:bindy-dataformat.adoc[Bindy Key Value Pair] +
(camel-bindy) | 2.0 | Marshal and unmarshal between POJOs and key-value pair (KVP) format using Camel Bindy

| xref:3.7.x@components:dataformats:cbor-dataformat.adoc[CBOR] +
(camel-cbor) | 3.0 | Unmarshal a CBOR payload to POJO and back.

| xref:3.7.x@components:dataformats:crypto-dataformat.adoc[Crypto (Java Cryptographic Extension)] +
(camel-crypto) | 2.3 | Encrypt and decrypt messages using Java Cryptography Extension (JCE).

| xref:3.7.x@components:dataformats:csv-dataformat.adoc[CSV] +
(camel-csv) | 1.3 | Handle CSV (Comma Separated Values) payloads.

| xref:3.7.x@components:dataformats:fhirJson-dataformat.adoc[FHIR JSon] +
(camel-fhir) | 2.21 | Marshall and unmarshall FHIR objects to/from JSON.

| xref:3.7.x@components:dataformats:fhirXml-dataformat.adoc[FHIR XML] +
(camel-fhir) | 2.21 | Marshall and unmarshall FHIR objects to/from XML.

| xref:3.7.x@components:dataformats:flatpack-dataformat.adoc[Flatpack] +
(camel-flatpack) | 2.1 | Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library.

| xref:3.7.x@components:dataformats:grok-dataformat.adoc[Grok] +
(camel-grok) | 3.0 | Unmarshal unstructured data to objects using Logstash based Grok patterns.

| xref:3.7.x@components:dataformats:gzipdeflater-dataformat.adoc[GZip Deflater] +
(camel-zip-deflater) | 2.0 | Compress and decompress messages using java.util.zip.GZIPStream.

| xref:3.7.x@components:dataformats:hl7-dataformat.adoc[HL7] +
(camel-hl7) | 2.0 | Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.

| xref:3.7.x@components:dataformats:ical-dataformat.adoc[iCal] +
(camel-ical) | 2.12 | Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library.

| xref:3.7.x@components:dataformats:jacksonxml-dataformat.adoc[JacksonXML] +
(camel-jacksonxml) | 2.16 | Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson.

| xref:3.7.x@components:dataformats:jaxb-dataformat.adoc[JAXB] +
(camel-jaxb) | 1.0 | Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.

| xref:3.7.x@components:dataformats:json-fastjson-dataformat.adoc[JSON Fastjson] +
(camel-fastjson) | 2.20 | Marshal POJOs to JSON and back using Fastjson

| xref:3.7.x@components:dataformats:json-gson-dataformat.adoc[JSON Gson] +
(camel-gson) | 2.10 | Marshal POJOs to JSON and back using Gson

| xref:3.7.x@components:dataformats:json-jackson-dataformat.adoc[JSON Jackson] +
(camel-jackson) | 2.0 | Marshal POJOs to JSON and back using Jackson

| xref:3.7.x@components:dataformats:json-johnzon-dataformat.adoc[JSON Johnzon] +
(camel-johnzon) | 2.18 | Marshal POJOs to JSON and back using Johnzon

| xref:3.7.x@components:dataformats:json-jsonb-dataformat.adoc[JSON JSON-B] +
(camel-jsonb) | 3.7 | Marshal POJOs to JSON and back using JSON-B.

| xref:3.7.x@components:dataformats:json-xstream-dataformat.adoc[JSON XStream] +
(camel-xstream) | 2.0 | Marshal POJOs to JSON and back using XStream

| xref:3.7.x@components:dataformats:jsonApi-dataformat.adoc[JSonApi] +
(camel-jsonapi) | 3.0 | Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.

| xref:3.7.x@components:dataformats:lzf-dataformat.adoc[LZF Deflate Compression] +
(camel-lzf) | 2.17 | Compress and decompress streams using LZF deflate algorithm.

| xref:3.7.x@components:dataformats:mime-multipart-dataformat.adoc[MIME Multipart] +
(camel-mail) | 2.17 | Marshal Camel messages with attachments into MIME-Multipart messages and back.

| xref:3.7.x@components:dataformats:pgp-dataformat.adoc[PGP] +
(camel-crypto) | 2.9 | Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.

| xref:3.7.x@components:dataformats:protobuf-dataformat.adoc[Protobuf] +
(camel-protobuf) | 2.2 | Serialize and deserialize Java objects using Google's Protocol buffers.

| xref:3.7.x@components:dataformats:rss-dataformat.adoc[RSS] +
(camel-rss) | 2.1 | Transform from ROME SyndFeed Java Objects to XML and vice-versa.

| xref:3.7.x@components:dataformats:soapjaxb-dataformat.adoc[SOAP] +
(camel-soap) | 2.3 | Marshal Java objects to SOAP messages and back.

| xref:3.7.x@components:dataformats:syslog-dataformat.adoc[Syslog] +
(camel-syslog) | 2.6 | Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.

| xref:3.7.x@components:dataformats:tarfile-dataformat.adoc[Tar File] +
(camel-tarfile) | 2.16 | Archive files into tarballs or extract files from tarballs.

| xref:3.7.x@components:dataformats:thrift-dataformat.adoc[Thrift] +
(camel-thrift) | 2.20 | Serialize and deserialize messages using Apache Thrift binary data format.

| xref:3.7.x@components:dataformats:tidyMarkup-dataformat.adoc[TidyMarkup] +
(camel-tagsoup) | 2.0 | Parse (potentially invalid) HTML into valid HTML or DOM.

| xref:3.7.x@components:dataformats:univocity-csv-dataformat.adoc[uniVocity CSV] +
(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers.

| xref:3.7.x@components:dataformats:univocity-fixed-dataformat.adoc[uniVocity Fixed Length] +
(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to fixed length records using UniVocity Parsers.

| xref:3.7.x@components:dataformats:univocity-tsv-dataformat.adoc[uniVocity TSV] +
(camel-univocity-parsers) | 2.15 | Marshal and unmarshal Java objects from and to TSV (Tab-Separated Values) records using UniVocity Parsers.

| xref:3.7.x@components:dataformats:secureXML-dataformat.adoc[XML Security] +
(camel-xmlsecurity) | 2.0 | Encrypt and decrypt XML payloads using Apache Santuario.

| xref:3.7.x@components:dataformats:xstream-dataformat.adoc[XStream] +
(camel-xstream) | 1.3 | Marshal and unmarshal POJOs to/from XML using XStream library.

| xref:3.7.x@components:dataformats:yaml-snakeyaml-dataformat.adoc[YAML SnakeYAML] +
(camel-snakeyaml) | 2.17 | Marshal and unmarshal Java objects to and from YAML using SnakeYAML

| xref:3.7.x@components:dataformats:zipdeflater-dataformat.adoc[Zip Deflate Compression] +
(camel-zip-deflater) | 2.12 | Compress and decompress streams using java.util.zip.Deflater and java.util.zip.Inflater.

| xref:3.7.x@components:dataformats:zipfile-dataformat.adoc[Zip File] +
(camel-zipfile) | 2.11 | Compression and decompress streams using java.util.zip.ZipStream.
|===
// dataformats: END

== Camel Languages

// languages: START
Number of Camel languages: 20 in 13 JAR artifacts (0 deprecated)

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

| xref:3.7.x@components:languages:bean-language.adoc[Bean method] +
(camel-bean) | 1.3 | Call a method of the specified Java bean passing the Exchange, Body or specific headers to it.

| xref:3.7.x@components:languages:constant-language.adoc[Constant] +
(camel-core-languages) | 1.5 | A fixed value set only once during the route startup.

| xref:3.7.x@components:languages:csimple-language.adoc[CSimple] +
(camel-core-languages) | 3.7 | Evaluate a compile simple expression language.

| xref:3.7.x@components:languages:datasonnet-language.adoc[DataSonnet] +
(camel-datasonnet) | 3.7 | To use DataSonnet scripts in Camel expressions or predicates.

| xref:3.7.x@components:languages:exchangeProperty-language.adoc[ExchangeProperty] +
(camel-core-languages) | 2.0 | Get the value of named Camel Exchange property.

| xref:3.7.x@components:languages:file-language.adoc[File] +
(camel-core-languages) | 1.1 | For expressions and predicates using the file/simple language.

| xref:3.7.x@components:languages:groovy-language.adoc[Groovy] +
(camel-groovy) | 1.3 | Evaluate a Groovy script.

| xref:3.7.x@components:languages:header-language.adoc[Header] +
(camel-core-languages) | 1.5 | Get the value of the named Camel Message header.

| xref:3.7.x@components:languages:hl7terser-language.adoc[HL7 Terser] +
(camel-hl7) | 2.11 | Get the value of an HL7 message field specified by terse location specification syntax.

| xref:3.7.x@components:languages:joor-language.adoc[jOOR] +
(camel-joor) | 3.7 | Evaluate a jOOR (Java compiled once at runtime) expression language.

| xref:3.7.x@components:languages:jsonpath-language.adoc[JsonPath] +
(camel-jsonpath) | 2.13 | Evaluate a JsonPath expression against a JSON message body.

| xref:3.7.x@components:languages:mvel-language.adoc[MVEL] +
(camel-mvel) | 2.0 | Evaluate an MVEL template against the Camel Exchange.

| xref:3.7.x@components:languages:ognl-language.adoc[OGNL] +
(camel-ognl) | 1.1 | Evaluate an Apache Commons Object Graph Navigation Library (OGNL) expression against the Camel Exchange.

| xref:3.7.x@components:languages:ref-language.adoc[Ref] +
(camel-core-languages) | 2.8 | Look up an expression in the Camel Registry and evaluate it.

| xref:3.7.x@components:languages:simple-language.adoc[Simple] +
(camel-core-languages) | 1.1 | Evaluate Camel's built-in Simple language expression against the Camel Exchange.

| xref:3.7.x@components:languages:spel-language.adoc[SpEL] +
(camel-spring) | 2.7 | Evaluate a Spring Expression Language (SpEL) expression against the Camel Exchange.

| xref:3.7.x@components:languages:tokenize-language.adoc[Tokenize] +
(camel-core-languages) | 2.0 | Tokenize text payloads using the specified delimiter patterns.

| xref:3.7.x@components:languages:xtokenize-language.adoc[XML Tokenize] +
(camel-xml-jaxp) | 2.14 | Tokenize XML payloads using the specified path expression.

| xref:3.7.x@components:languages:xpath-language.adoc[XPath] +
(camel-xpath) | 1.1 | Evaluate an XPath expression against an XML payload.

| xref:3.7.x@components:languages:xquery-language.adoc[XQuery] +
(camel-saxon) | 1.0 | Evaluate an XQuery expressions against an XML payload.
|===
// languages: END


== Miscellaneous Extensions

// others: START
Number of miscellaneous extensions: 20 in 20 JAR artifacts (2 deprecated)

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

| xref:3.7.x@components:others:aws-xray.adoc[AWS XRay] +
(camel-aws-xray) | 2.21 | Distributed tracing using AWS XRay

| xref:3.7.x@camel-karaf::blueprint.adoc[Blueprint] +
(camel-blueprint) | 2.4 | Using Camel with OSGi Blueprint

| xref:3.7.x@components:others:headersmap.adoc[Headersmap] +
(camel-headersmap) | 2.20 | Fast case-insensitive headers map implementation

| xref:3.7.x@components:others:hystrix.adoc[Hystrix] +
(camel-hystrix) | 2.18 | *deprecated* Circuit Breaker EIP using Netflix Hystrix

| xref:3.7.x@components:others:jasypt.adoc[Jasypt] +
(camel-jasypt) | 2.5 | Security using Jasypt

| xref:3.7.x@camel-karaf::kura.adoc[Kura] +
(camel-kura) | 2.15 | Using Camel with Eclipse Kura (OSGi)

| xref:3.7.x@components:others:leveldb.adoc[LevelDB] +
(camel-leveldb) | 2.10 | Using LevelDB as persistent EIP store

| xref:3.7.x@components:others:leveldb-legacy.adoc[LevelDB-legacy] +
(camel-leveldb-legacy) | 2.10 | Using LevelDB as persistent EIP store

| xref:3.7.x@components:others:lra.adoc[LRA] +
(camel-lra) | 2.21 | Camel saga binding for Long-Running-Action framework

| xref:3.7.x@components:others:openapi-java.adoc[Openapi Java] +
(camel-openapi-java) | 3.1 | Rest-dsl support for using openapi doc

| xref:3.7.x@components:others:opentelemetry.adoc[OpenTelemetry] +
(camel-opentelemetry) | 3.5 | Distributed tracing using OpenTelemetry

| xref:3.7.x@components:others:opentracing.adoc[OpenTracing] +
(camel-opentracing) | 2.19 | Distributed tracing using OpenTracing

| xref:3.7.x@camel-karaf::osgi-activator.adoc[Osgi Activator] +
(camel-osgi-activator) | 3.1 | *deprecated* Camel OSGi Activator for running Camel routes from other bundles

| xref:3.7.x@components:others:reactor.adoc[Reactor] +
(camel-reactor) | 2.20 | Reactor based back-end for Camel's reactive streams component

| xref:3.7.x@components:others:shiro.adoc[Shiro] +
(camel-shiro) | 2.5 | Security using Shiro

| xref:3.7.x@components:others:swagger-java.adoc[Swagger Java] +
(camel-swagger-java) | 2.16 | Rest-dsl support for using swagger api-doc

| xref:3.7.x@components:others:test.adoc[Test] +
(camel-test) | 2.9 | Camel unit testing

| xref:3.7.x@components:others:test-spring.adoc[Test Spring] +
(camel-test-spring) | 2.10 | Camel unit testing with Spring

| xref:3.7.x@components:others:tracing.adoc[Tracing] +
(camel-tracing) | 3.5 | Distributed tracing common interfaces

| xref:3.7.x@components:others:zipkin.adoc[Zipkin] +
(camel-zipkin) | 2.18 | Distributed message tracing using Zipkin
|===
// others: END

