= Apache Camel Karaf features

Apache Camel Karaf supports the following Camel artifacts as Karaf features

== Camel Components

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

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

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

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

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

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

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

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

| xref:next@components::aws2-athena-component.adoc[AWS Athena] (camel-aws2-athena) +
`aws2-athena:label` | 3.4 | Access AWS Athena service using AWS SDK version 2.x.

| xref:next@components::aws2-cw-component.adoc[AWS CloudWatch] (camel-aws2-cw) +
`aws2-cw:namespace` | 3.1 | Sending metrics to AWS CloudWatch using AWS SDK version 2.x.

| xref:next@components::aws2-ddb-component.adoc[AWS DynamoDB] (camel-aws2-ddb) +
`aws2-ddb:tableName` | 3.1 | Store and retrieve data from AWS DynamoDB service using AWS SDK version 2.x.

| xref:next@components::aws2-ec2-component.adoc[AWS Elastic Compute Cloud (EC2)] (camel-aws2-ec2) +
`aws2-ec2:label` | 3.1 | Manage AWS EC2 instances using AWS SDK version 2.x.

| xref:next@components::aws2-ecs-component.adoc[AWS Elastic Container Service (ECS)] (camel-aws2-ecs) +
`aws2-ecs:label` | 3.1 | Manage AWS ECS cluster instances using AWS SDK version 2.x.

| xref:next@components::aws2-eks-component.adoc[AWS Elastic Kubernetes Service (EKS)] (camel-aws2-eks) +
`aws2-eks:label` | 3.1 | Manage AWS EKS cluster instances using AWS SDK version 2.x.

| xref:next@components::aws2-eventbridge-component.adoc[AWS Eventbridge] (camel-aws2-eventbridge) +
`aws2-eventbridge://eventbusNameOrArn` | 3.6 | Manage AWS Eventbridge cluster instances using AWS SDK version 2.x.

| xref:next@components::aws2-iam-component.adoc[AWS Identity and Access Management (IAM)] (camel-aws2-iam) +
`aws2-iam:label` | 3.1 | Manage AWS IAM instances using AWS SDK version 2.x.

| xref:next@components::aws2-kms-component.adoc[AWS Key Management Service (KMS)] (camel-aws2-kms) +
`aws2-kms:label` | 3.1 | Manage keys stored in AWS KMS instances using AWS SDK version 2.x.

| xref:next@components::aws2-kinesis-component.adoc[AWS Kinesis] (camel-aws2-kinesis) +
`aws2-kinesis:streamName` | 3.2 | Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x.

| xref:next@components::aws2-lambda-component.adoc[AWS Lambda] (camel-aws2-lambda) +
`aws2-lambda:function` | 3.2 | Manage and invoke AWS Lambda functions using AWS SDK version 2.x.

| xref:next@components::aws2-msk-component.adoc[AWS Managed Streaming for Apache Kafka (MSK)] (camel-aws2-msk) +
`aws2-msk:label` | 3.1 | Manage AWS MSK instances using AWS SDK version 2.x.

| xref:next@components::aws2-mq-component.adoc[AWS MQ] (camel-aws2-mq) +
`aws2-mq:label` | 3.1 | Manage AWS MQ instances using AWS SDK version 2.x.

| xref:next@components::aws2-s3-component.adoc[AWS S3 Storage Service] (camel-aws2-s3) +
`aws2-s3://bucketNameOrArn` | 3.2 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.

| xref:next@components::aws-secrets-manager-component.adoc[AWS Secrets Manager] (camel-aws-secrets-manager) +
`aws-secrets-manager:label` | 3.9 | Manage AWS Secrets Manager services using AWS SDK version 2.x.

| xref:next@components::aws2-sts-component.adoc[AWS Security Token Service (STS)] (camel-aws2-sts) +
`aws2-sts:label` | 3.5 | Manage AWS STS cluster instances using AWS SDK version 2.x.

| xref:next@components::aws2-ses-component.adoc[AWS Simple Email Service (SES)] (camel-aws2-ses) +
`aws2-ses:from` | 3.1 | Send e-mails through AWS SES service using AWS SDK version 2.x.

| xref:next@components::aws2-sns-component.adoc[AWS Simple Notification System (SNS)] (camel-aws2-sns) +
`aws2-sns:topicNameOrArn` | 3.1 | Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.

| xref:next@components::aws2-sqs-component.adoc[AWS Simple Queue Service (SQS)] (camel-aws2-sqs) +
`aws2-sqs:queueNameOrArn` | 3.1 | Send and receive messages to/from AWS SQS service using AWS SDK version 2.x.

| xref:next@components::aws2-translate-component.adoc[AWS Translate] (camel-aws2-translate) +
`aws2-translate:label` | 3.1 | Translate texts using AWS Translate and AWS SDK version 2.x.

| xref:next@components::azure-eventhubs-component.adoc[Azure Event Hubs] (camel-azure-eventhubs) +
`azure-eventhubs:namespace/eventHubName` | 3.5 | Send and receive events to/from Azure Event Hubs using AMQP protocol.

| xref:next@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.

| xref:next@components::azure-storage-datalake-component.adoc[Azure Storage Datalake Service] (camel-azure-storage-datalake) +
`azure-storage-datalake:accountName/fileSystemName` | 3.8 | Sends and receives files to/from Azure DataLake Storage.

| xref:next@components::azure-storage-queue-component.adoc[Azure Storage Queue Service] (camel-azure-storage-queue) +
`azure-storage-queue:accountName/queueName` | 3.3 | Stores and retrieves messages to/from Azure Storage Queue.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| xref:next@components::kamelet-reify-component.adoc[Kamelet Reify] (camel-kamelet-reify) +
`kamelet-reify:delegateUri` | 3.6 | *deprecated* To call Kamelets (indirectly)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| xref:next@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:next@components:dataformats:any23-dataformat.adoc[Any23] +
(camel-any23) | 3.0 | Extract RDF data from HTML documents.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

| xref:next@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:next@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:next@components:languages:bean-language.adoc[Bean Method] +
(camel-bean) | 1.3 | Calls a Java bean method.

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

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

| xref:next@components:languages:datasonnet-language.adoc[DataSonnet] +
(camel-datasonnet) | 3.7 | To use DataSonnet scripts for message transformations.

| xref:next@components:languages:exchangeProperty-language.adoc[ExchangeProperty] +
(camel-core-languages) | 2.0 | Gets a property from the Exchange.

| xref:next@components:languages:file-language.adoc[File] +
(camel-core-languages) | 1.1 | File related capabilities for the Simple language

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

| xref:next@components:languages:header-language.adoc[Header] +
(camel-core-languages) | 1.5 | Gets a header from the Exchange.

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

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

| xref:next@components:languages:jsonpath-language.adoc[JSONPath] +
(camel-jsonpath) | 2.13 | Evaluates a JSONPath expression against a JSON message body.

| xref:next@components:languages:mvel-language.adoc[MVEL] +
(camel-mvel) | 2.0 | Evaluates a MVEL template.

| xref:next@components:languages:ognl-language.adoc[OGNL] +
(camel-ognl) | 1.1 | Evaluates an OGNL expression (Apache Commons OGNL).

| xref:next@components:languages:ref-language.adoc[Ref] +
(camel-core-languages) | 2.8 | Uses an existing expression from the registry.

| xref:next@components:languages:simple-language.adoc[Simple] +
(camel-core-languages) | 1.1 | Evaluates a Camel simple expression.

| xref:next@components:languages:spel-language.adoc[SpEL] +
(camel-spring) | 2.7 | Evaluates a Spring expression (SpEL).

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

| xref:next@components:languages:xtokenize-language.adoc[XML Tokenize] +
(camel-xml-jaxp) | 2.14 | Tokenize XML payloads.

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

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


== Miscellaneous Extensions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

