Welcome to the Apache Camel Spring-Boot Examples

Introduction

This project contains the various examples for working with Apache Camel Spring Boot. 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.

Executing

Master branch should only be used for development purposes, which will be pointing to the SNAPSHOT version of the next release.

To execute the examples, checkout into the tag for the latest release. For example:

$ git checkout tags/camel-spring-boot-examples-3.5.0

Then, install the root pom:

$ mvn install

After that, you should be able to execute the examples following each example’s readme’s instructions.

Examples

Number of Examples: 61 (0 deprecated)

Example Category Description

Spring Boot Azure Eventhubs (camel-example-spring-boot-azure-eventhubs)

An example showing how to work with Camel, Azure Event Hubs and Spring Boot

Spring Boot Azure Servicebus (camel-example-spring-boot-azure-servicebus)

An example showing how to work with Camel, Azure Service Bus and Spring Boot

Spring Boot Azure Servicebus Jms (camel-example-spring-boot-azure-servicebus-jms)

An example showing how to work with Camel, Azure Service Bus JMS and Spring Boot

Mail Oauth2 (mail-oauth2)

Endpointdsl (endpointdsl)

Beginner

Using type-safe Endpoint DSL

Kamelet Chucknorris (kamelet-chucknorris)

Beginner

How easy it is to create your own Kamelets

Pojo (pojo)

Beginner

An example showing how to work with Camel POJO routing with Spring Boot

Quartz (quartz)

Beginner

An example showing how to work with Camel Quartz and Camel Log with Spring Boot

Spring Boot Route Reload (route-reload)

Beginner

Live reload of routes if file is updated and saved

Routes Configuration (routes-configuration)

Beginner

Example with global routes configuration for error handling

Routetemplate (routetemplate)

Beginner

How to use route templates (parameterized routes)

Routetemplate Xml (routetemplate-xml)

Beginner

How to use route templates (parameterized routes) in XML

Spring Boot (spring-boot)

Beginner

An example showing how to work with Camel and Spring Boot

Type Converter (type-converter)

Beginner

An example showing how to create custom type converter with Camel and Spring Boot

Spring Boot XML (xml)

Beginner

An example showing how to work with Camel routes in XML files and Spring Boot

Spring Boot XML Import (xml-import)

Beginner

An example showing how to work with Spring XML files imported with embedded CamelContext

Aws Secrets Manager (aws-secrets-manager)

Cloud

An example showing the Camel AWS Secrets Manager Properties source with Spring Boot

Aws2 S3 (aws2-s3)

Cloud

An example showing the Camel AWS2 S3 component with Spring Boot

gRPC Spring Boot (grpc)

Cloud

An example showing the Camel gRPC component with Spring Boot

gRPC Kubernetes (grpc-kubernetes)

Cloud

An example showing the Camel gRPC component with Spring Boot running on Kubernetes

Infinispan (infinispan)

Cloud

An example showing the Camel Infinispan component with Spring Boot

Webhook (webhook)

Cloud

Example on how to use the Camel Webhook component

Master (master)

Clustering

An example showing how to work with Camel’s Master component and Spring Boot

Arangodb (arangodb)

Database

An example showing the Camel ArangoDb component with Spring Boot

Spring Boot REST JPA (rest-jpa)

Database

An example demonstrating how to use Camel REST DSL with JPA to expose a RESTful API that performs CRUD operations on a database

Spring Boot Jta Jpa (spring-boot-jta-jpa)

Database

An example showing JTA with Spring Boot

Dynamic Router Eip (dynamic-router-eip)

EIP

An example on how to use the Dynamic Router EIP component in Spring Boot

Load Balancer Eip (load-balancer-eip)

EIP

An example showing Load Balancer EIP with Camel and Spring Boot

Resilience4j (resilience4j)

EIP

An example showing how to use Resilience4j EIP as circuit breaker in Camel routes

Saga (saga)

EIP

This example shows how to work with a simple Apache Camel application using Spring Boot and Narayana LRA Coordinator to manage distributed actions implementing SAGA pattern

Splitter Eip (splitter-eip)

EIP

An example showing Splitter EIP with Camel and Spring Boot

Fhir (fhir)

Health Care

An example showing how to work with Camel, FHIR and Spring Boot

Fhir Auth Tx (fhir-auth-tx)

Health Care

An example showing how to work with Camel, FHIR Authorization, FHIR Transaction and Spring Boot

Validator Spring Boot (validator)

Input/Output Type Contract

An example showing how to work with declarative validation and Spring Boot

Actuator Http Metrics (actuator-http-metrics)

Management and Monitoring

Example on how to use Spring Boot’s Actuator endpoints to gather info like mappings or metrics

OpenTracing APM (apm-opentracing)

Management and Monitoring

An example showing how to trace incoming and outgoing messages from Camel with OpenTracing with ElastiCo APM

Health Checks (health-checks)

Management and Monitoring

An example how to use custom health-checks

Metrics (metrics)

Management and Monitoring

An example showing how to work with Camel and Spring Boot and report metrics to Graphite

OpenTracing (opentracing)

Management and Monitoring

An example showing how to trace incoming and outgoing messages from Camel with OpenTracing

Supervising Route Controller (supervising-route-controller)

Management and Monitoring

An example showing how to work with Camel’s Supervising Route Controller and Spring Boot

Activemq (activemq)

Messaging

An example showing how to work with Camel, ActiveMQ and Spring Boot

Amqp (amqp)

Messaging

An example showing how to work with Camel, ActiveMQ Amqp and Spring Boot

Kafka Avro (kafka-avro)

Messaging

An example for Kafka avro

Kafka Offsetrepository (kafka-offsetrepository)

Messaging

An example for Kafka offsetrepository

Paho Mqtt5 Shared Subscriptions (paho-mqtt5-shared-subscriptions)

Messaging

An example showing how to set up multiple mqtt5 consumers that use shared subscription feature of MQTT5

Rabbitmq (rabbitmq)

Messaging

An example showing how to work with Camel and RabbitMQ

Strimzi (strimzi)

Messaging

Camel example which a route is defined in XML for Strimzi integration on Openshift/Kubernetes

Widget Gadget (widget-gadget)

Messaging

The widget and gadget example from EIP book, running on Spring Boot

Reactive Streams (reactive-streams)

Reactive

An example that shows how Camel can exchange data using reactive streams with Spring Boot reactor

Geocoder (geocoder)

Rest

An example showing the Camel Geocoder component via REST DSL with Spring Boot

Platform Http (platform-http)

Rest

An example showing Camel REST DSL with platform HTTP

Rest Openapi (rest-openapi)

Rest

An example showing Camel REST DSL and OpenApi with Spring Boot

REST OpenApi (rest-openapi-simple)

Rest

This example shows how to call a Rest service defined using OpenApi specification

Rest Openapi Springdoc (rest-openapi-springdoc)

Rest

An example showing Camel REST DSL and OpenApi with a Springdoc UI in a Spring Boot application

Rest Producer (rest-producer)

Rest

An example showing how to use Camel Rest to call a REST service

Rest Swagger (rest-swagger)

Rest

An example showing Camel REST DSL and Swagger with Spring Boot

REST Swagger (rest-swagger-simple)

Rest

This example shows how to call a Rest service defined using Swagger specification

Jira (jira)

SaaS

An example that uses Jira Camel API

Twitter Salesforce (twitter-salesforce)

SaaS

Twitter mentions is created as contacts in Salesforce

Undertow Spring Security (undertow-spring-security)

Security

Example on how to use the Camel Undertow component with spring security and Keycloak

Unit Testing (unit-testing)

Testing

An example showing how to write unit tests with Camel and Spring Boot

Help and contributions

If you hit any problem using Camel or have some feedback, then please let us know.

We also love contributors, so get involved :-)

The Camel riders!