Skip to content

jboss-fuse/camel-spring-boot-examples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Deploy with devfile

ActiveMQ (activemq)

Messaging

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

No

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

No

Amqp (amqp)

Messaging

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

No

AMQP Salesforce (amqp-salesforce)

Messaging

AMQP message sending is created as contacts in Salesforce

No

ArangoDB (arangodb)

Database

An example showing the Camel ArangoDb component with Spring Boot

No

artemis (artemis)

Messaging

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

No

AWS2 S3 (aws2-s3)

Cloud

An example showing the Camel AWS2 S3 component with Spring Boot

No

Azure Event Hubs (azure-eventhubs)

Cloud

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

No

Azure Service Bus (azure-servicebus)

Cloud

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

No

Endpoint DSL (camel-example-endpointdsl)

Beginner

Using type-safe Endpoint DSL

No

FHIR (fhir)

Health Care

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

No

Transaction (fhir-auth-tx)

Health Care

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

Yes

Health Checks (health-checks)

Health Care

An example on how to work with health checks ib a simple Apache Camel application using Spring Boot.

Yes

HTTP SSL (http-ssl)

Rest

An example showing the Camel HTTP component with Spring Boot and SSL

No

Infinispan (infinispan)

Cloud

An example showing the Camel Infinispan component with Spring Boot

No

Jira (jira)

Beginner

An example that uses Jira Camel API

No

Jolokia (jolokia)

Management and Monitoring

An example that uses Jolokia to monitor and to manage Camel Routes

No

Avro (kafka-avro)

Messaging

An example for Kafka avro

No

offsetrepository (kafka-offsetrepository)

Messaging

An example for Kafka offsetrepository

No

Kamelet Chuck Norris (kamelet-chucknorris)

Beginner

How easy it is to create your own Kamelets

Yes

Custom Type Converter (load-balancer-eip)

Beginner

An example showing Load Balancer EIP with Camel and Spring Boot

Yes

Microsoft Exchange Oauth2 Authentication (mail-exchange-oauth2)

Mail

An example showing how to use Camel on Spring Boot to connect with IMAP protocol and access email data for Office 365 users using OAuth2 authentication

No

Master (master)

Clustering

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

No

Metrics (metrics)

Management and Monitoring

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

Yes

Monitoring (monitoring)

Management and Monitoring

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

No

Multiple pooled datasources with two-phase commit (muti-datasources-2pc)

Database

An example showing how to work with Camel and Spring Boot using multiple pooled datasources with two-phase commit

No

Observation (observation)

Management and Monitoring

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

No

OpenAPI Contract First (openapi-contract-first)

Rest

Contract First OpenAPI example

No

OpenTelemetry (opentelemetry)

Management and Monitoring

An example showing how to use Camel with OpenTelemetry

No

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

Yes

REST DSL and Platform HTTP (platform-http)

Rest

An example showing Camel REST DSL with platform HTTP

No

POJO Routing (pojo)

Beginner

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

Yes

Quartz (quartz)

Beginner

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

Yes

RabbitMQ (rabbitmq)

Messaging

An example showing how to work with Camel and RabbitMQ

No

Reactive Streams (reactive-streams)

Reactive

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

Yes

Resilience4j (resilience4j)

EIP

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

No

REST using CXF and OpenTelemetry (rest-cxf-opentelemetry)

CXF

An example showing Camel REST using CXF and OpenTelemetry with Spring Boot

No

REST DSL and OpenApi (rest-openapi)

Rest

An example showing Camel REST DSL and OpenApi with Spring Boot

Yes

OpenApi Simple (rest-openapi-simple)

Beginner

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

No

REST DSL and OpenApi (rest-openapi-springdoc)

Rest

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

Yes

Route Reload (route-reload)

Beginner

Live reload of routes if file is updated and saved

Yes

Routes Configuration (routes-configuration)

Beginner

Example with global routes configuration for error handling

No

Route Template (routetemplate)

Beginner

How to use route templates (parameterized routes)

Yes

XML (routetemplate-xml)

Beginner

How to use route templates (parameterized routes) in XML

No

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

No

ServiceCall (servicecall)

Cloud

An example showing how to work with Camel ServiceCall EIP and Spring Boot

No

SOAP CXF (soap-cxf)

CXF

An example showing the Camel SOAP CXF

No

Camel Splitter EIP (splitter-eip)

Beginner

An example showing Splitter EIP with Camel and Spring Boot

Yes

Spring Boot (camel-example-spring-boot)

Beginner

An example showing how to work with Camel and Spring Boot

No

JTA (spring-boot-jta-jpa-autoconfigure)

Advanced

An example showing JTA with Spring Boot Autoconfiguration

No

JTA (spring-boot-jta-jpa-xml)

Advanced

An example showing JTA with Spring Boot using Spring XML configuration

No

Spring JDBC (spring-jdbc)

Beginner

Camel transacted routes integrating local Spring Transaction

No

Strimzi (strimzi)

Messaging

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

No

Supervising Route Controller (supervising-route-controller)

Management and Monitoring

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

Yes

Tomcat JDBC (camel-example-spring-boot)

Beginner

An example showing how to deploy a Camel Spring Boot application in Tomcat using its JDBC Data Source

No

Custom Type Converter (type-converter)

Beginner

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

Yes

Validator (validator)

Input/Output Type Contract

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

Yes

Webhook (webhook)

Advanced

Example on how to use the Camel Webhook component

No

Widget Gadget (widget-gadget)

Messaging

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

No

XML (xml)

Beginner

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

Yes

XML Import (xml-import)

Beginner

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

Yes

Deploying the examples in openshift or dev-sandbox using devfiles

Steps:

  • First login to your openshift or dev-sandbox and create a new project. Here $EXAMPLE is the name of the example you want to deploy:

    $ oc new-project csbex-$EXAMPLE
  • Create an odo component using the devfile.yaml

    $ odo create csb-ubi8 --app $EXAMPLE
  • To set the specific example you want to deploy as an env variable (SUB_FOLDER):

    $ odo config set --env SUB_FOLDER=$EXAMPLE
  • Then push it to openshift cluster:

    $ odo push

Note:

  • Only few examples can be deployed using devfile:

    fhir-auth-tx, geocoder, health-checks, kamelet-chucknorris, load-balancer-eip, metrics, paho-mqtt5-shared-subscriptions, pojo, quartz, reactive-streams, rest-jpa, rest-openapi-springdoc,
    rest-openapi, rest-producer, rest-swagger, route-reload, routetemplate, splitter-eip, spring-boot, supervising-route-controller, type-converter, unit-testing, validator, xml-import and xml.
  • Please delete .odo folder in your repository before starting to deploy another example, so that it will delete the components related to previous example.

  • If you have an internal repository, set the MAVEN_MIRROR_URL environment with your maven repo before pushing:

    $ odo config set --env MAVEN_MIRROR_URL=https://my-maven-mirror/

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!

Packages

No packages published

Languages

  • Java 98.8%
  • Shell 1.2%