= Apache Camel Karaf features

Apache Camel Karaf supports the following Camel artifacts as Karaf features

== Camel Components

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

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

| xref: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:components::amqp-component.adoc[AMQP] (camel-amqp) +
`amqp:destinationType:destinationName` | 1.2 | Messaging with AMQP protocol using Apache QPid Client.

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

| xref: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:components::as2-component.adoc[AS2] (camel-as2) +
`as2:apiName/methodName` | 2.22 | Transfer data securely and reliably using the AS2 protocol (RFC4130).

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

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

| xref: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:components::atom-component.adoc[Atom] (camel-atom) +
`atom:feedUri` | 1.2 | Poll Atom RSS feeds.

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

| xref: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: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: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:components::bean-component.adoc[Bean] (camel-bean) +
`bean:beanName` | 1.0 | Invoke methods of Java beans stored in Camel registry.

| xref: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:components::beanstalk-component.adoc[Beanstalk] (camel-beanstalk) +
`beanstalk:connectionSettings` | 2.15 | Retrieve and post-process Beanstalk jobs.

| xref: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:components::braintree-component.adoc[Braintree] (camel-braintree) +
`braintree:apiName/methodName` | 2.17 | Process payments using Braintree Payments.

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

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

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

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

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

| xref: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:components::consul-component.adoc[Consul] (camel-consul) +
`consul:apiEndpoint` | 2.18 | Integrate with Consul service discovery and configuration store.

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

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

| xref: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: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: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: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:components::dataformat-component.adoc[Data Format] (camel-dataformat) +
`dataformat:name:operation` | 2.12 | Use a Camel Data Format as a regular Camel Component.

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

| xref: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:components::digitalocean-component.adoc[DigitalOcean] (camel-digitalocean) +
`digitalocean:operation` | 2.19 | Manage Droplets and resources within the DigitalOcean cloud.

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

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

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

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

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

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

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

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

| xref: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:components::elsql-component.adoc[ElSQL] (camel-elsql) +
`elsql:elsqlName:resourceUri` | 2.16 | Use ElSql to define SQL queries. Extends the SQL Component.

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

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

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

| xref: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:components::flatpack-component.adoc[Flatpack] (camel-flatpack) +
`flatpack:type:resourceUri` | 1.4 | Parse fixed width and delimited files using the FlatPack library.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| xref: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:components::websocket-jsr356-component.adoc[Javax Websocket] (camel-websocket-jsr356) +
`websocket-jsr356:uri` | 2.23 | Expose websocket endpoints using JSR356.

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

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

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

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

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

| xref: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:components::jms-component.adoc[JMS] (camel-jms) +
`jms:destinationType:destinationName` | 1.0 | Sent and receive messages to/from a JMS Queue or Topic.

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

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

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

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

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

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

| xref:components::jsonata-component.adoc[JSONata] (camel-jsonata) +
`jsonata:resourceUri` | 3.5 | Transforms JSON payload using JSONata transformation.

| xref: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:components::kafka-component.adoc[Kafka] (camel-kafka) +
`kafka:topic` | 2.13 | Sent and receive messages to/from an Apache Kafka broker.

| xref:components::kamelet-component.adoc[Kamelet] (camel-kamelet) +
`kamelet:templateId/routeId` | 3.8 | To call Kamelets

| xref: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:components::language-component.adoc[Language] (camel-language) +
`language:languageName:resourceUri` | 2.5 | Execute scripts in any of the languages supported by Camel.

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

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

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

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

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

| xref: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: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:components::micrometer-component.adoc[Micrometer] (camel-micrometer) +
`micrometer:metricsType:metricsName` | 2.22 | Collect various metrics directly from Camel routes using the Micrometer library.

| xref: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:components::minio-component.adoc[Minio] (camel-minio) +
`minio:bucketName` | 3.5 | Store and retrieve objects from Minio Storage Service using Minio SDK.

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

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

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

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

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

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

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

| xref: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:components::nagios-component.adoc[Nagios] (camel-nagios) +
`nagios:host:port` | 2.3 | Send passive checks to Nagios using JSendNSCA.

| xref: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: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:components::nitrite-component.adoc[Nitrite] (camel-nitrite) +
`nitrite:database` | 3.0 | Access Nitrite databases.

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

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

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

| xref: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: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:components::paho-component.adoc[Paho] (camel-paho) +
`paho:topic` | 2.16 | Communicate with MQTT message brokers using Eclipse Paho MQTT Client.

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

| xref: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: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: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:components::quartz-component.adoc[Quartz] (camel-quartz) +
`quartz:groupName/triggerName` | 2.12 | Schedule sending of messages using the Quartz 2.x scheduler.

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

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

| xref: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: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:components::rest-component.adoc[REST] (camel-rest) +
`rest:method:path:uriTemplate` | 2.14 | Expose REST services or call external REST services.

| xref: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: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:components::robotframework-component.adoc[Robot Framework] (camel-robotframework) +
`robotframework:resourceUri` | 3.0 | Pass camel exchanges to acceptence test written in Robot DSL.

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

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

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

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

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

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

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

| xref: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:components::servicenow-component.adoc[ServiceNow] (camel-servicenow) +
`servicenow:instanceName` | 2.18 | Interact with ServiceNow via its REST API.

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

| xref: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: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:components::sip-component.adoc[SIP] (camel-sip) +
`sip:uri` | 2.5 | Send and receive messages using the SIP protocol (used in telecommunications).

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

| xref: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:components::snmp-component.adoc[SNMP] (camel-snmp) +
`snmp:host:port` | 2.1 | Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.

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

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

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

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

| xref:components::spring-jdbc-component.adoc[Spring JDBC] (camel-spring-jdbc) +
`spring-jdbc:dataSourceName` | 3.10 | Access databases through SQL and JDBC with Spring Transaction support.

| xref: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: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:components::sql-component.adoc[SQL] (camel-sql) +
`sql:query` | 1.4 | Perform SQL queries using Spring JDBC.

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

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

| xref: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: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:components::string-template-component.adoc[String Template] (camel-stringtemplate) +
`string-template:resourceUri` | 1.2 | Transform messages using StringTemplate engine.

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

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

| xref: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:components::tika-component.adoc[Tika] (camel-tika) +
`tika:operation` | 2.19 | Parse documents and extract metadata and text using Apache Tika.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| xref: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:components::yammer-component.adoc[Yammer] (camel-yammer) +
`yammer:function` | 2.12 | Interact with the Yammer enterprise social network.

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

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

| xref: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: 48 in 40 JAR artifacts (0 deprecated)

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

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

| xref: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:components:dataformats:avro-dataformat.adoc[Avro] +
(camel-avro) | 2.14 | Serialize and deserialize messages using Apache Avro binary data format.

| xref:components:dataformats:avro-jackson-dataformat.adoc[Avro Jackson] +
(camel-jackson-avro) | 3.10 | Marshal POJOs to Avro and back using Jackson.

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

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

| xref: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: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: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: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:components:dataformats:cbor-dataformat.adoc[CBOR] +
(camel-cbor) | 3.0 | Unmarshal a CBOR payload to POJO and back.

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

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

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

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

| xref: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:components:dataformats:grok-dataformat.adoc[Grok] +
(camel-grok) | 3.0 | Unmarshal unstructured data to objects using Logstash based Grok patterns.

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

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

| xref: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:components:dataformats:jacksonxml-dataformat.adoc[JacksonXML] +
(camel-jacksonxml) | 2.16 | Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson.

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

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

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

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

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

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

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

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

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

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

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

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

| xref:components:dataformats:protobuf-jackson-dataformat.adoc[Protobuf Jackson] +
(camel-jackson-protobuf) | 3.10 | Marshal POJOs to Protobuf and back using Jackson.

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

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

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

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

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

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

| xref: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: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: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:components:dataformats:secureXML-dataformat.adoc[XML Security] +
(camel-xmlsecurity) | 2.0 | Encrypt and decrypt XML payloads using Apache Santuario.

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

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

| xref: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: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: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:components:languages:constant-language.adoc[Constant] +
(camel-core-languages) | 1.5 | A fixed value set only once during the route startup.

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

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

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

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

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

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

| xref: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:components:languages:joor-language.adoc[jOOR] +
(camel-joor) | 3.7 | Evaluate a jOOR (Java compiled once at runtime) expression language.

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

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

| xref: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:components:languages:ref-language.adoc[Ref] +
(camel-core-languages) | 2.8 | Look up an expression in the Camel Registry and evaluate it.

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

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

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

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

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

| xref: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 (3 deprecated)

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

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

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

| xref:components:others:caffeine-lrucache.adoc[Caffeine Lrucache] +
(camel-caffeine-lrucache) | 3.0 | *deprecated* Camel Caffeine LRUCache support

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

