Chapter 1. Camel Quarkus extensions overview
Chapter 1. Camel Quarkus extensions overview 1.1. Support level definitions New features, services, and components go through a number of support levels before inclusion in Red Hat build of Apache Camel for Quarkus as fully supported for production use. This is to ensure the right balance between providing the enterprise stability expected of our offerings with the need to allow our customers and partners to experiment with new Red Hat build of Apache Camel for Quarkus technologies while providing feedback to help guide future development activities. Table 1.1. Red Hat build of Apache Camel for Quarkus support levels Type Description Community Support As part of Red Hat's commitment to upstream first, integration of new extensions into our Red Hat build of Apache Camel for Quarkus distribution begins in the upstream community. While these extensions have been tested and documented upstream, we have not reviewed the maturity of these extensions and they may not be formally supported by Red Hat in future product releases. Note Community extensions are listed on the extensions reference page of the Camel Quarkus community project. Technology Preview Technology Preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. However, these features are not fully supported under Red Hat Subscription Level Agreements, may not be functionally complete, and are not intended for production use. As Red Hat considers making future iterations of Technology Preview features generally available, we will attempt to resolve any issues that customers experience when using these features. Production Support Production Support extensions are shipped in a formal Red Hat release and are fully supported. There are no documentation gaps and extensions have been tested on all supported configurations. 1.2. Supported extensions There are 110 extensions. Table 1.2. Red Hat build of Apache Camel for Quarkus Support Matrix Extension Artifact Description JVM Support Level Native Support Level Support on IBM Power and IBM Z 1 AMQP camel-quarkus-amqp Messaging with AMQP protocol using Apache QPid Client. Production Support Production Support Yes 2 Attachments camel-quarkus-attachments Support for attachments on Camel messages Production Support Production Support Yes 3 AWS Secrets Manager camel-quarkus-aws-secrets-manager Manage AWS Secrets Manager services using AWS SDK version 2.x. Production Support Production Support Yes 4 AWS2 CloudWatch camel-quarkus-aws2-cw Sending metrics to AWS CloudWatch using AWS SDK version 2.x. Production Support Production Support Yes 5 AWS2 DynamoDB camel-quarkus-aws2-ddb Store and retrieve data from AWS DynamoDB service or receive messages from AWS DynamoDB Stream using AWS SDK version 2.x. Production Support Production Support Yes 6 AWS2 Kinesis camel-quarkus-aws2-kinesis Consume and produce records from AWS Kinesis Streams using AWS SDK version 2.x. Production Support Production Support Yes 7 AWS2 Lambda camel-quarkus-aws2-lambda Manage and invoke AWS Lambda functions using AWS SDK version 2.x. Production Support Production Support Yes 8 AWS2 S3 Storage camel-quarkus-aws2-s3 Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x. Production Support Production Support Yes 9 AWS2 Simple Notification System (SNS) camel-quarkus-aws2-sns Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x. Production Support Production Support Yes 10 AWS2 Simple Queue Service (SQS) camel-quarkus-aws2-sqs Send and receive messages to/from AWS SQS service using AWS SDK version 2.x. Production Support Production Support Yes 11 Azure Key Vault camel-quarkus-azure-key-vault Manage secrets and keys in Azure Key Vault Service Production Support Production Support Yes 12 Azure ServiceBus camel-quarkus-azure-servicebus Send and receive messages to/from Azure Service Bus. Technology Preview Technology Preview Yes 13 Azure Storage Blob camel-quarkus-azure-storage-blob Store and retrieve blobs from Azure Storage Blob Service using SDK v12. Production Support Production Support Yes 14 Azure Storage Queue camel-quarkus-azure-storage-queue The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12. Production Support Production Support Yes 15 Bean camel-quarkus-bean Invoke methods of Java beans Production Support Production Support Yes 16 BeanIO camel-quarkus-beanio Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats). Production Support Not supported Yes 17 Bean-validator camel-quarkus-bean-validator Validate the message body using the Java Bean Validation API. Production Support Production Support Yes 18 Browse camel-quarkus-browse Inspect the messages received on endpoints supporting BrowsableEndpoint. Production Support Production Support Yes 19 Cassandra CQL camel-quarkus-cassandraql Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax. Production Support Production Support Yes 20 Cli-connector camel-quarkus-cli-connector Runtime adapter connecting with Camel CLI Production Support Production Support Yes 21 Controlbus camel-quarkus-controlbus Manage and monitor Camel routes. Production Support Production Support Yes 22 Core camel-quarkus-core Camel core functionality and basic Camel languages/ Constant, ExchangeProperty, Header, Ref, Simple and Tokenize Production Support Production Support Yes 23 Crypto camel-quarkus-crypto Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE). Production Support Production Support Yes 24 Cron camel-quarkus-cron A generic interface for triggering events at times specified through the Unix cron syntax. Production Support Production Support Yes 25 CXF SOAP camel-quarkus-cxf-soap Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client. Production Support Production Support Yes 26 Dataformat camel-quarkus-dataformat Use a Camel Data Format as a regular Camel Component. Production Support Production Support Yes 27 Dataset camel-quarkus-dataset Provide data for load and soak testing of your Camel application. Technology Preview Technology Preview Yes 28 Direct camel-quarkus-direct Call another endpoint from the same Camel Context synchronously. Production Support Production Support Yes 29 Elasticsearch Low level Rest Client camel-elasticsearch-rest-client Perform queries and other operations on Elasticsearch or OpenSearch (uses low-level client). Production Support Production Support Yes 30 FHIR camel-quarkus-fhir Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard. Marshall and unmarshall FHIR objects to/from JSON. Marshall and unmarshall FHIR objects to/from XML. Production Support Production Support No 31 Flink camel-quarkus-flink Send DataSet jobs to an Apache Flink cluster. Technology Preview None Yes 32 File camel-quarkus-file Read and write files. Production Support Production Support Yes 33 File cluster service camel-quarkus-file-cluster-service Provides a FileLock implementation of the Camel Cluster Service SPI Production Support Production Support Yes 34 FTP camel-quarkus-ftp Upload and download files to/from SFTP, FTP or SFTP servers Production Support Production Support Yes 35 Google BigQuery camel-quarkus-google-bigquery Access Google Cloud BigQuery service using SQL queries or Google Client Services API Production Support Production Support Yes 36 Google Secret Manager camel-quarkus-google-secret-manager Manage Google Secret Manager Secrets Production Support Production Support Yes 37 Google Pubsub camel-quarkus-google-pubsub Send and receive messages to/from Google Cloud Platform PubSub Service. Production Support Production Support Yes 38 Google Secret Manager camel-quarkus-google-secret-manager Manage Google Secret Manager Secrets Production Support Production Support Yes 39 GraphQL camel-quarkus-graphql Send GraphQL queries and mutations to external systems. Production Support Production Support Yes 40 gRPC camel-quarkus-grpc Expose gRPC endpoints and access external gRPC endpoints. Production Support Production Support Yes 41 Hashicorp Vault camel-quarkus-hashicorp-vault Manage secrets in Hashicorp Vault Service Production Support Production Support Yes 42 HTTP camel-quarkus-http Send requests to external HTTP servers using Apache HTTP Client 5.x. Production Support Production Support Yes 43 Infinispan camel-quarkus-infinispan Read and write from/to Infinispan distributed key/value store and data grid. Production Support Production Support No 44 Jasypt camel-quarkus-jasypt Security using Jasypt Production Support Production Support Yes 45 Java JOOR DSL camel-quarkus-java-joor-dsl Support for parsing Java route definitions at runtime Community Support Community Support Yes 46 JDBC camel-quarkus-jdbc Access databases through SQL and JDBC. Production Support Production Support Yes 47 JIRA camel-quarkus-jira Interact with JIRA issue tracker. Production Support Production Support Yes 48 JMS camel-quarkus-jms Sent and receive messages to/from a JMS Queue or Topic. Production Support Production Support Yes 49 JPA camel-quarkus-jpa Store and retrieve Java objects from databases using Java Persistence API (JPA). Production Support Production Support Yes 50 JT400 camel-quarkus-jt400 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. Production Support Production Support Yes 51 JTA camel-quarkus-jta Enclose Camel routes in transactions using Java Transaction API (JTA) and Narayana transaction manager. Production Support Production Support Yes 52 Kafka camel-quarkus-kafka Sent and receive messages to/from an Apache Kafka broker. Production Support Production Support Yes 53 Kamelet camel-quarkus-kamelet Materialize route templates Production Support Production Support Yes 54 Kubernetes camel-quarkus-kubernetes Perform operations against Kubernetes API Technology Preview Technology Preview Yes 55 Kubernetes Cluster Service camel-quarkus-kubernetes-cluster-service Provides a Kubernetes implementation of the Camel Cluster Service SPI Production Support Production Support Yes 56 Kudu camel-kudu Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem. Production Support Production Support No 57 Language camel-quarkus-language Execute scripts in any of the languages supported by Camel. Production Support Production Support Yes 58 LDAP camel-quarkus-ldap Perform searches on LDAP servers. Production Support Production Support Yes 59 Log camel-quarkus-log Log messages to the underlying logging mechanism. Production Support Production Support Yes 60 LRA camel-quarkus-lra Camel saga binding for Long-Running-Action framework. Technology Preview Technology Preview Yes 61 Mail camel-quarkus-mail Send and receive emails using imap, pop3 and smtp protocols. Marshal Camel messages with attachments into MIME-Multipart messages and back. Production Support Production Support Yes 62 Management camel-quarkus-management JMX management strategy and associated managed resources. Production Support Production Support Yes 63 MapStruct camel-quarkus-mapstruct Type Conversion using Mapstruct Production Support Production Support Yes 64 Master camel-quarkus-master Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies. Production Support Production Support Yes 65 Micrometer camel-quarkus-micrometer Collect various metrics directly from Camel routes using the Micrometer library. Production Support Production Support Yes 66 MicroProfile Fault Tolerance camel-quarkus-microprofile-fault-tolerance Circuit Breaker EIP using Microprofile Fault Tolerance Production Support Production Support Yes 67 MicroProfile Health camel-quarkus-microprofile-health Expose Camel health checks via MicroProfile Health Production Support Production Support Yes 68 Minio camel-quarkus-minio Store and retrieve objects from Minio Storage Service using Minio SDK. Production Support Production Support Yes 69 MLLP camel-quarkus-mllp Communicate with external systems using the MLLP protocol. Production Support Production Support Yes 70 MyBatis camel-quarkus-mybatis Performs a query, poll, insert, update or delete in a relational database using MyBatis. Production Support Production Support Yes 71 Mock camel-quarkus-mock Test routes and mediation rules using mocks. Production Support Production Support Yes 72 MongoDB camel-quarkus-mongodb Perform operations on MongoDB documents and collections. Technology Preview Technology Preview Yes 73 Netty camel-quarkus-netty Socket level networking using TCP or UDP with Netty 4.x. Production Support Production Support Yes 74 Netty HTTP camel-quarkus-netty-http Netty HTTP server and client using the Netty 4.x. Production Support Production Support Yes 75 Openapi Java camel-quarkus-openapi-java Expose OpenAPI resources defined in Camel REST DSL Production Support Production Support Yes 76 OpenTelemetry camel-quarkus-opentelemetry Distributed tracing using OpenTelemetry Production Support Production Support Yes 77 Qute camel-quarkus-qute Transform messages using Quarkus Qute templating engine Production Support Production Support Yes 78 Quartz camel-quarkus-quartz Schedule sending of messages using the Quartz 2.x scheduler. Production Support Production Support Yes 79 Paho camel-quarkus-paho Communicate with MQTT message brokers using Eclipse Paho MQTT Client. Production Support Production Support Yes 80 Paho MQTT5 camel-quarkus-paho-mqtt5 Communicate with MQTT message brokers using Eclipse Paho MQTT v5 Client. Production Support Production Support Yes 81 Platform HTTP camel-quarkus-platform-http Expose HTTP endpoints using the HTTP server available in the current platform. Production Support Production Support Yes 82 Ref camel-quarkus-ref Route messages to an endpoint looked up dynamically by name in the Camel Registry. Production Support Production Support Yes 83 REST camel-quarkus-rest Expose REST services and their OpenAPI Specification or call external REST services. Production Support Production Support Yes 84 REST OpenAPI camel-quarkus-rest-openapi Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface. Production Support Production Support Yes 85 Salesforce camel-quarkus-salesforce Communicate with Salesforce using Java DTOs. Production Support Production Support Yes 86 SAGA camel-quarkus-saga Execute custom actions within a route using the Saga EIP. Technology Preview Technology Preview Yes 87 SAP camel-quarkus-sap Provides SAP Camel Component. Production Support None Yes 88 Saxon camel-quarkus-saxon Query and/or transform XML payloads using XQuery and Saxon. Production Support Production Support Yes 89 Scheduler camel-quarkus-scheduler Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService. Production Support Production Support Yes 90 Seda camel-quarkus-seda Asynchronously call another endpoint from any Camel Context in the same JVM. Production Support Production Support Yes 91 Servlet camel-quarkus-servlet Serve HTTP requests by a Servlet. Production Support Production Support Yes 92 Slack camel-quarkus-slack Send and receive messages to/from Slack. Production Support Production Support Yes 93 SMB camel-quarkus-smb SMB component which consumes natively from file shares using the Server Message Block (SMB, also known as Common Internet File System - CIFS) protocol Production Support Production Support Yes 94 SNMP camel-quarkus-snmp Receive traps and poll SNMP (Simple Network Management Protocol) capable devices. Production Support Technology Preview Yes 95 Splunk camel-quarkus-splunk Publish or search for events in Splunk. Production Support Production Support Yes 96 Splunk HEC camel-quarkus-splunk-hec The splunk component allows to publish events in Splunk using the HTTP Event Collector. Production Support Production Support Yes 97 Spring RabbitMQ camel-quarkus-spring-rabbitmq Send and receive messages from RabbitMQ using Spring RabbitMQ client. Production Support Production Support Yes 98 SQL camel-quarkus-sql Perform SQL queries. Production Support Production Support Yes 99 Telegram camel-quarkus-telegram Send and receive messages acting as a Telegram Bot Telegram Bot API. Production Support Production Support Yes 100 Timer camel-quarkus-timer Generate messages in specified intervals using java.util.Timer. Production Support Production Support Yes 101 Validator camel-quarkus-validator Validate the payload using XML Schema and JAXP Validation. Production Support Production Support Yes 102 Velocity camel-quarkus-velocity Transform messages using a Velocity template. Production Support Production Support Yes 103 VertX HTTP camel-quarkus-vertx-http Camel HTTP client support with Vert.x Production Support Production Support Yes 104 VertX Websocket camel-quarkus-vertx-websocket Camel WebSocket support with Vert.x Production Support Production Support Yes 105 XJ camel-quarkus-xj Transform JSON and XML message using a XSLT Production Support Production Support Yes 106 XML IO DSL camel-quarkus-xml-io-dsl An XML stack for parsing XML route definitions Production Support Production Support Yes 107 XSLT camel-quarkus-xslt Transforms XML payload using an XSLT template. Production Support Production Support Yes 108 XSLT Saxon camel-quarkus-xslt-saxon Transform XML payloads using an XSLT template using Saxon. Production Support Production Support Yes 109 Zip File camel-quarkus-zipfile Compression and decompress streams using java.util.zip.ZipStream. Production Support Production Support Yes 110 Zip Deflate Compression camel-quarkus-zip-deflater Compress and decompress streams using java.util.zip.Deflater, java.util.zip.Inflater or java.util.zip.GZIPStream. Production Support Production Support Yes 1.3. Supported languages There are 11 languages. Table 1.3. Red Hat build of Apache Camel for Quarkus Support matrix languages Extension Artifact Description JVM Support Level Native Support Level Support on IBM Power and IBM Z 1 Bean camel-quarkus-bean Invoke methods of Java beans. Production Support Production Support Yes 2 Core camel-quarkus-core Camel core functionality and basic Camel languages/ Constant, ExchangeProperty, Header, Ref, Simple and Tokenize. Production Support Production Support Yes 3 Hl7 camel-quarkus-hl7 Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec. Production Support Production Support Yes 4 JSONPath camel-quarkus-jsonpath Evaluate a JSONPath expression against a JSON message body. Production Support Production Support Yes 5 Jslt camel-quarkus-jslt Query or transform JSON payloads using an JSLT. Production Support Production Support Yes 111 JQ camel-quarkus-jq Evaluates a JQ expression against a JSON message body. Production Support Production Support Yes 6 Saxon camel-quarkus-saxon Query and/or transform XML payloads using XQuery and Saxon. Production Support Production Support Yes 7 XML IO DSL camel-quarkus-xml-io-dsl An XML stack for parsing XML route definitions Production Support Production Support Yes 8 XML IO DSL camel-quarkus-xml-io-dsl An XML stack for parsing XML route definitions Production Support Production Support Yes 9 Xpath camel-quarkus-xpath Evaluates an XPath expression against an XML payload. Production Support Production Support Yes 10 YAML DSL camel-quarkus-yaml-dsl A YAML stack for parsing YAML route definitions Production Support Production Support Yes 11 YAML DSL camel-quarkus-yaml-dsl A YAML stack for parsing YAML route definitions Production Support Production Support Yes 1.4. Supported data formats There are 14 data formats. Table 1.4. Red Hat build of Apache Camel for Quarkus Support matrix data formats Extension Artifact Description JVM Support Level Native Support Level Support on IBM Power and IBM Z 1 Avro camel-quarkus-avro Serialize and deserialize messages using Apache Avro binary data format. Production support Production support Yes 2 BeanIO camel-quarkus-beanio Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats). Production support Not supported Yes 3 Bindy camel-quarkus-bindy Marshal and unmarshal between POJOs on one side and Comma separated values (CSV), fixed field length or key-value pair (KVP) formats on the other side using Camel Bindy Production support Production support Yes 4 Crypto camel-quarkus-crypto Java Cryptographic Extension: Symmetric (shared-key) encryption and decryption using Camel's marshal and unmarshal formatting mechanism. Production support Production support Yes 5 Gson camel-quarkus-gson Marshal POJOs to JSON and back using Gson Production support Production support Yes 6 Hl7 camel-quarkus-hl7 Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec. Production support Production support Yes 7 Jackson camel-quarkus-jackson Marshal POJOs to JSON and back using Jackson Production support Production support Yes 8 Jackson Avro camel-quarkus-jackson-avro Marshal POJOs to Avro and back using Jackson. Production support Production support Yes 9 Jackson ProtoBuf camel-quarkus-jackson-protobuf Marshal POJOs to Protobuf and back using Jackson. Production support Production support Yes 10 Jackson XML camel-quarkus-jacksonxml Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson. Production support Production support Yes 11 Jaxb camel-quarkus-jaxb Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard. Production support Production support Yes 12 Xml-JAXP camel-quarkus-xml-jaxp Camel XML JAXP Production support Production support Yes 13 PGP camel-quarkus-crypto Symmetric (shared-key) encryption and decryption using Camel's marshal and unmarshal formatting mechanism. Production support Production support Yes 14 SOAP camel-quarkus-soap Marshal Java objects to SOAP messages and back. Production support Production support Yes