= Welcome to the Apache Camel Examples

== Introduction

This directory contains the various examples for working with Apache
Camel. The examples can be run using Maven. When using the Maven
command, Maven will attempt to download the required dependencies from a
central repository to your local repository.
View the individual example READMEs for details.

== Examples

// examples: START
Number of Examples: 93 (0 deprecated)

[width="100%",cols="4,2,4",options="header"]
|===
| Example | Category | Description

| link:micrometer/README.adoc[Micrometer] (micrometer) | Advanced | An example showing how to work with Camel, Spring Java Config and Micrometer monitoring

| link:any23/README.adoc[Any23 example] (any23) | Beginner | An example that uses the Any23 dataformat

| link:as2/README.adoc[AS2 Example] (as2) | Beginner | An example which demonstrates the use of the Camel AS2 component

| link:aws-secrets-manager/README.adoc[Aws Secrets Manager] (aws-secrets-manager) | Beginner | An example for showing AWS Secrets Manager Camel component

| link:azure-eventhubs/README.adoc[Azure Eventhubs] (azure-eventhubs) | Beginner | Azure Eventhubs example

| link:azure-storage-blob/README.adoc[Azure Storage Blob] (azure-storage-blob) | Beginner | Azure Storage Blob example

| link:basic/README.adoc[Basic] (basic) | Beginner | Basic example

| link:cdi/README.adoc[CDI] (cdi) | Beginner | An example showing how to work with Camel and CDI for dependency injection

| link:cdi-properties/README.adoc[CDI Properties] (cdi-properties) | Beginner | DeltaSpike configuration properties CDI example

| link:cdi-xml/README.adoc[CDI Camel XML] (cdi-xml) | Beginner | CDI and Camel XML example

| link:console/README.adoc[Console] (console) | Beginner | An example that reads input from the console

| link:csimple/readme.adoc[Csimple] (csimple) | Beginner | Shows using compiled simple language

| link:csimple-joor/readme.adoc[Csimple Joor] (csimple-joor) | Beginner | Shows using compiled simple language with jOOR compiler

| link:ftp/README.adoc[FTP] (ftp) | Beginner | An example for showing Camel FTP integration

| link:java8/README.adoc[Java8] (java8) | Beginner | An example for showing Camel DSL for Java 8

| link:kamelet/README.adoc[Kamelet] (kamelet) | Beginner | How to use Kamelets

| link:kamelet-chucknorris/README.adoc[Kamelet Chucknorris] (kamelet-chucknorris) | Beginner | How easy it is to create your own Kamelets

| link:kamelet-main/README.adoc[Kamelet Main] (kamelet-main) | Beginner | How to easily run Kamelets

| link:main/README.adoc[Main] (main) | Beginner | An example for showing standalone Camel

| link:main-endpointdsl/README.adoc[Main Endpointdsl] (main-endpointdsl) | Beginner | An example for showing standalone Camel with Endpoint DSL

| link:main-endpointdsl-aws2-s3/README.adoc[Main Endpointdsl Aws2 S3] (main-endpointdsl-aws2-s3) | Beginner | An example for showing standalone Camel with Endpoint DSL and AWS2-S3

| link:main-endpointdsl-aws2-s3-kafka/README.adoc[Main Endpointdsl Aws2 S3 Kafka] (main-endpointdsl-aws2-s3-kafka) | Beginner | An example for showing standalone Camel with Endpoint DSL and AWS2-S3 and Kafka

| link:main-endpointdsl-google-pubsub/README.adoc[Main Endpointdsl Google Pubsub] (main-endpointdsl-google-pubsub) | Beginner | An example for showing standalone Camel with Endpoint DSL and Google Pubsub component

| link:main-endpointdsl-kafka-aws2-s3/README.adoc[Main Endpointdsl Kafka Aws2 S3] (main-endpointdsl-kafka-aws2-s3) | Beginner | An example for showing standalone Camel with Endpoint DSL and Kafka and AWS2 S3

| link:main-endpointdsl-kafka-aws2-s3-restarting-policy/README.adoc[Main Endpointdsl Kafka Aws2 S3 Restarting Policy] (main-endpointdsl-kafka-aws2-s3-restarting-policy) | Beginner | An example for showing standalone Camel with Endpoint DSL and Kafka, AWS2-S3 streaming upload mode with restarting policy

| link:main-health/README.adoc[Main Health] (main-health) | Beginner | An example for showing standalone Camel with Health Checks

| link:main-joor/README.adoc[Main Joor] (main-joor) | Beginner | An example for showing standalone Camel with jOOR runtime Java compiled

| link:main-lambda/README.adoc[Main Lambda] (main-lambda) | Beginner | Camel routes lambda style

| link:main-tiny/README.adoc[Main Tiny] (main-tiny) | Beginner | An example for showing standalone Camel with as few JARs on classpath as possible

| link:main-xml/README.adoc[Main Xml] (main-xml) | Beginner | An example for showing standalone Camel using XML

| link:oaipmh/README.adoc[OAIPMH example] (oaipmh) | Beginner | An example with OAIPMH component

| link:pojo-messaging/README.adoc[POJO Routing] (pojo-messaging) | Beginner | An example showing how to produce and consume messages from Camel endpoints using annotated POJOs
    

| link:routeloader/README.adoc[Routeloader] (routeloader) | Beginner | Example loading and compiling Java routes on startup

| link:routetemplate/README.adoc[Routetemplate] (routetemplate) | Beginner | How to use route templates (parameterized routes)

| link:servlet-tomcat/README.adoc[Servlet Tomcat] (servlet-tomcat) | Beginner | An example using Camel Servlet with Apache Tomcat

| link:spring/README.adoc[Spring] (spring) | Beginner | An example showing how to work with Camel and Spring

| link:spring-javaconfig/README.adoc[Spring Java Config] (spring-javaconfig) | Beginner | An example showing how to work with Camel and Spring Java Config

| link:spring-xquery/README.adoc[Spring XQuery] (spring-xquery) | Beginner | An example using Spring XML to transform a message using XQuery

| link:cassandra-kubernetes/README.adoc[Cassandra Kubernetes] (cassandra-kubernetes) | Cloud | An example with Camel and Cassandra running on Kubernetes

| link:cdi-kubernetes/README.adoc[CDI Kubernetes] (cdi-kubernetes) | Cloud | An example running Camel CDI on Kubernetes

| link:cdi-minio/README.adoc[CDI Minio] (cdi-minio) | Cloud | Minio CDI example

| link:hazelcast-kubernetes/README.adoc[Hazelcast Kubernetes] (hazelcast-kubernetes) | Cloud | An example with Camel and Hazelcast running on Kubernetes

| link:main-endpointdsl-aws2/README.adoc[Main Endpointdsl Aws2] (main-endpointdsl-aws2) | Cloud | An example for showing standalone Camel with multiple AWS2 components

| link:cdi-cassandraql/README.adoc[CDI Cassandra] (cdi-cassandraql) | Database | Cassandraql CDI example

| link:debezium/README.adoc[Debezium] (debezium) | Database | An example for Debezium Component

| link:debezium-eventhubs-blob/README.adoc[Debezium Eventhubs Blob] (debezium-eventhubs-blob) | Database | An example for Debezium Component with Azure Event Hubs and Azure Storage Blob

| link:jdbc/README.adoc[JDBC] (jdbc) | Database | An example for showing Camel using JDBC component

| link:jooq/README.adoc[JOOQ] (jooq) | Database | An example for showing Camel using JOOQ component

| link:mongodb/README.adoc[Mongodb] (mongodb) | Database | An example that uses Camel MongoDB component

| link:aggregate/README.adoc[Aggregate] (aggregate) | EIP | Demonstrates the persistent support for the Camel aggregator

| link:aggregate-dist/README.adoc[Aggregate Dist] (aggregate-dist) | EIP | How to use the JdbcAggregationRepository in a distributed environment

| link:artemis/README.adoc[Widget Gadget using Apache ActiveMQ Artemis] (artemis) | EIP | The widget and gadget example from the EIP book using Apache ActiveMQ Artemis

| link:bigxml-split/README.adoc[Bigxml Split] (bigxml-split) | EIP | How to deal with big XML files in Camel

| link:billboard-aggregate/README.adoc[Billboard Aggregate] (billboard-aggregate) | EIP | Billboard aggregation example

| link:cafe/README.adoc[Cafe] (cafe) | EIP | A cafe example showing how to work with Camel

| link:cafe-endpointdsl/README.adoc[Cafe Endpointdsl] (cafe-endpointdsl) | EIP | A cafe example showing how to work with Camel and the Endpoint DSL

| link:loadbalancing/README.adoc[Load Balancing] (loadbalancing) | EIP | An example that demonstrate load balancing messaging with mina servers (TCP/IP)

| link:loan-broker-cxf/README.adoc[Loan Broker WebService] (loan-broker-cxf) | EIP | An example that shows the EIP's loan broker demo

| link:loan-broker-jms/README.adoc[Loan Broker JMS] (loan-broker-jms) | EIP | An example that shows the EIP's loan broker demo using JMS

| link:route-throttling/README.adoc[Route Throttling] (route-throttling) | EIP | A client-server example using JMS transport where we on the server side can throttle the Camel
        route dynamically based on the flow of messages
    

| link:widget-gadget-cdi/README.adoc[Widget Gadget CDI] (widget-gadget-cdi) | EIP | The widget and gadget example from the EIP book

| link:widget-gadget-java/README.adoc[Widget Gadget Java] (widget-gadget-java) | EIP | The widget and gadget example from the EIP book

| link:widget-gadget-xml/README.adoc[Widget Gadget XML] (widget-gadget-xml) | EIP | The widget and gadget example from the EIP book

| link:fhir/README.adoc[FHIR] (fhir) | Health Care | An example running Camel FHIR using Camel CDI

| link:transformer-cdi/README.adoc[Transformer CDI] (transformer-cdi) | Input/Output Type Contract | An example demonstrating declarative transformation along data type declaration using Java DSL and CDI
    

| link:transformer-demo/README.adoc[Transformer and Validator Spring XML] (transformer-demo) | Input/Output Type Contract | An example demonstrating declarative transformation and validation along data type declaration using
        Spring DSL
    

| link:cdi-metrics/README.adoc[CDI Metrics] (cdi-metrics) | Management and Monitoring | Dropwizard Metrics CDI example

| link:flight-recorder/README.adoc[Flight Recorder] (flight-recorder) | Management and Monitoring | Diagnosing Camel with Java Flight Recorder

| link:jmx/README.adoc[JMX] (jmx) | Management and Monitoring | An example showing how to work with Camel and JMX

| link:management/README.adoc[Management] (management) | Management and Monitoring | An example for showing Camel JMX management

| link:splunk/README.adoc[Splunk] (splunk) | Management and Monitoring | An example using Splunk

| link:activemq-tomcat/README.adoc[ActiveMQ Tomcat] (activemq-tomcat) | Messaging | An example using ActiveMQ Broker and Camel with Apache Tomcat

| link:artemis-large-messages/README.adoc[Artemis Large Messages] (artemis-large-messages) | Messaging | Demonstrates sending large messages (handles GBs in size) between Apache Camel and ActiveMQ Artemis in
        streaming mode
    

| link:jms-file/README.adoc[JMS-File] (jms-file) | Messaging | An example that persists messages from JMS to files

| link:kafka/README.adoc[Kafka] (kafka) | Messaging | An example for Kafka

| link:main-artemis/README.adoc[Main Artemis] (main-artemis) | Messaging | An example for showing standalone Camel with ActiveMQ Artemis

| link:netty-custom-correlation/README.adoc[Netty Custom Correlation] (netty-custom-correlation) | Messaging | An example for showing Camel Netty with custom codec and correlation id

| link:spring-pulsar/README.adoc[Spring Pulsar] (spring-pulsar) | Messaging | An example using Spring XML to talk to the Pulsar server from different kind of client techniques

| link:vertx-kafka/README.adoc[Vertx Kafka] (vertx-kafka) | Messaging | An example for Vertx Kafka

| link:kotlin/README.adoc[Kotlin] (kotlin) | Other Languages | A Camel route using Kotlin

| link:reactive-executor-vertx/README.adoc[Reactive Executor Vertx] (reactive-executor-vertx) | Reactive | An example for showing using VertX as reactive executor with standalone Camel

| link:cdi-rest-servlet/README.adoc[CDI Rest] (cdi-rest-servlet) | Rest | Rest DSL using Servlet with CDI example

| link:openapi-cdi/README.adoc[OpenApi CDI] (openapi-cdi) | Rest | An example using REST DSL and OpenApi Java with CDI

| link:swagger-cdi/README.adoc[Swagger CDI] (swagger-cdi) | Rest | An example using REST DSL and Swagger Java with CDI

| link:spring-security/README.adoc[Spring Security] (spring-security) | Security | An example showing how to work with Camel and Spring Security

| link:salesforce-consumer/README.adoc[Salesforce Consumer] (salesforce-consumer) | Social | An example that uses Salesforce Rest Streaming API

| link:telegram/README.adoc[Telegram] (telegram) | Social | An example that uses Telegram API

| link:twitter-websocket/README.adoc[Twitter Websocket] (twitter-websocket) | Social | An example that pushes new tweets to a web page using web-socket

| link:cdi-test/README.adoc[CDI Test] (cdi-test) | Testing | An example illustrating Camel CDI testing features

| link:cxf/README.adoc[CXF] (cxf) | WebService | An example which demonstrates the use of the Camel CXF component

| link:cxf-proxy/README.adoc[CXF Proxy] (cxf-proxy) | WebService | An example which uses Camel to proxy a web service

| link:cxf-tomcat/README.adoc[CXF Tomcat] (cxf-tomcat) | WebService | An example using Camel CXF (code first) with Apache Tomcat

| link:spring-ws/README.adoc[Spring WebService] (spring-ws) | WebService | An example showing how to work with Camel and Spring Web Services
|===
// examples: END

== Help and contributions

If you hit any problem using Camel or have some feedback, 
then please https://camel.apache.org/community/support/[let us know].

We also love contributors, 
so https://camel.apache.org/community/contributing/[get involved] :-)

The Camel riders!
