If you have never used or seen Camel before, then you should start with Apache Camel Tutorial – Introduction to EIP, Routes, Components, Testing, and other Concepts - an article by Kai Wähner, where he puts EIP and Camel into the big picture and gives a run down of the important Camel concepts. Demo source code can be downloaded at github to get started with your first Camel project easily.
Articles are divided into several sections. As the lists grow, further sectioning refinements may be necessary.
- Open Source Integration with Apache Camel by Jonathan Anstey
- Integration with Apache Camel - Part I - Will get you over the hump, by detailing the inner workings of Apache Camel from the DSL to routes and exchanges. by Charles Moulliard
- Simple DSL OSGi bundle example by Andrej Koelewijn
- Realization of EAI Patterns with Apache Camel by Pascal Kolb
- Navigating the Integration Landscape - Claus Ibsen on Apache Camel Claus Ibsen was interviewed at DZone discussing the integration landscape
- Enterprise Integration Pattern with Apache Camel 2.0 by Julien Dechmann
- Camellos - Discovering Apache Camel by Gunnar Hillert
- First step with Apache Camel by Lukasz Budnik
- Devoxx talk about Apache Camel - Impressions from the talk by Jos Nieuwenhuis
- LEGO Java: Apache Camel Context and Route Basics shows how to build integration applications using EIPs LEGO style. Building an application to parse HTML pages from web sites.
- LEGO® Java (II): Apache Camel Error Handling, Java Beans and Web Services
- Getting started with Apache Camel using Groovy by Zemian Deng
- Introduction to Apache Camel by Alexander Holbreich
- What is Camel? a short blog about what Camel is, leading up to slides from a recent Camel presentation in autumn 2012.
- Getting started with Apache Camel a short blog from December 2012 about how to implement an use-case from scratch with Apache Camel.
- Discovering the power of Apache Camel - A blog post from December 2012 by Bernard Ligny
- Growing EAI with Apache Camel - Good lengthy article from March 2013 covering simple integration needs that grows and shows how Camel can be up for the task. Recommend read.
- Getting started with Apache Camel using Java - A blog post from August 2013 introducing how to create a new Camel project from scratch and use Java code. And then make the example better with less code and using more of Camels power.
- SOA Integration with Apache Camel - Article from September 2013 introducing to Apache Camel and how it can be used with SOA and Web Services.
- Tutorial: Integration with Apache Camel by Charles Moulliard (September 2013)
- Knowledge Tree integration using Apache Camel
- Introduction to the Open eHealth Integration Platform (based on top of Apache Camel) Excellent DZone article by Martin Krasser
- Camel vs. JBI by Adrian Trenaman
- Hiding The Middleware from Your Domain Code With Camel by James Carr
- Tutorial: Open Source Enterprise Application Integration DEBS’13 by Christoph Emmersberger and Florian Springer
- Developing Services with Apache Camel - 3 part blog series (sep/oct 2014) by Matt Raible - Excellent blog series where Matt covers how they migrated from an old legacy system to using Apache Camel and micro services. A great read!
- Q&A With Claus Ibsen on Apache Camel - Claus was interviewed by DZone in December 2015 where he talks Apache Camel, including development inspiration, community reaction, and challenges.
- Performance Tuning Ideas for Apache Camel - Bilgin details many ideas what you can do to optimize your systems that are using Apache Camel (January 2016).
- Microservices with Apache Camel - Piotr Mińkowski blogs from March 2017 about developing microservices with Apache Camel and using the Rest-DSL with Spring Boot, service call, consul, zipkin and more.
- Apache Camel: Integrating systems with Java - Alexandre Eleuterio Santos Lourenco from June 2017 gives a quick introduction to Apache Camel and builds an example to route files to AWS S3 with error handling via gmail and running on Spring Boot.
- Getting started with Apache Camel and Java - By Bennet Schultz from September 2017 gives you a quick 101 how to easily get started with Apache Camel with plain Java (no Spring, application server, OSGi, etc.)
These examples show usage of several different components and other concepts such as error handling.
- Jammazwan - A set of many small examples to learn parts of Apache Camel more quickly.
- A bit more meat: Camel applied : JMS to File by Mike McLean
- Matteo wrote a blog entry about using Camel with iBatis
- Using the Camel aggregator correctly by Torsten Mielke
- Spring Remoting with JMS Example on Amin Abbaspour's Weblog
- Camel routes and HL7 by Roger Searjeant
- Leverage EIP with Apache Camel and Twitter by Bruno Borges
- Using RSS with Apache Camel by Jeroen Reijn
- Axis 2 ride with Camel how to use Axis 2 with Camel by Sagara
- A Camel based XML payload HTTP polling provider by Christopher Hunt
- First steps with Apache Camel on Google App Engine by Martin Krasser
- Camel, CXF and JMS by Example by Silvester van der Bijl
- A simple file monitoring console with camel, cometd and jquery by Andrej Koelewijn
- Advanced Event Notification Framework with Apache Camel by Hendy
- Camel IRC Message Route Example by James Carr
- A composite REST service using Apache Camel by Andrej Koelewijn
- EDA events over system boundaries with Camel by Sculptur team blog
- Dynamic FTP Client using Apache Camel and Spring by Mattias Severson
- Using Apache Camel to route SOAP calls through message queues by Glen Mazza
- Virtual ESB - application integration made painless with Apache Camel by Piotr Jagielski
- Application-Monitoring & Statistics-Collection with Apache Camel by Martin Huber
- Camel exception handling overview by Ben O'Day
- Remote Observer Pattern with Publish-Subscribe via XMPP by Hendy
- Implementing Asynchronous Observer Pattern with Bean Proxy by Hendy
- Apache Camel Example Application - Earthquake Mashups showing how Camel using|\ EIPs can gather online earthquake and weather data and expose REST service.
- RouteBuilding with inherited configurations by Martin Huber
- Mathew's Thoughts on Apache Camel shows how Apache Camel easily can route messages from a JMS topic to files using the Content Based Router EIP. More blog posts to come.
- Transparent Asynchronous Remoting via JMS by Harald Wellman
- Dynamic Routing Using Health Information Policy with Apache Camel by Edward Brown and Jamie Goodyear
- Transforming and splitting huge EDI files using Smooks and Camel by Claus Straube
- JDBC Persistence for Camel Aggregator talks about how to use the Agreggator EIP with persistence support.
- TCP proxy with Apache Camel by Scott Cranton
- Process driven Froms with Apache Camel and websockets shows how to use web sockets with Camel with an Web UI example.
- Calling WebServices with Apache Camel by Marcelo Jabali
- Apache Camel and SOAP by Jan Kronquist
- Using Apache Camel to monitor SNMP devices by Marcelo Jabali
- Website mashup with Apache Camel by Jean-Baptiste Onofré
- Error handling in Camel for JMS consumer endpoint by Torsten Mielke
- Cloud integration with Apache Camel and Amazon web services s3 sqs and sns by Kai Wähner
- Visual IDE said to jump start Camel mediation routing - Article from TechTarget magazine about visual IDE for Camel development
- Using the MINA component in Apache Camel - Blog post by Marcelo Jabali
- Using HTTP-based endpoints with Apache Camel - Blog post by Marcelo Jabali
- Cloud Notifications with Apache Camel - Blog post by Ioannis Canellos
- Hot Standby failover for Apache Camel by Christian Schneider
- Combine Yahoo Finance and HBase using Camel - Blog post Robert Felker writing about how to gather finance statistics from Yahoo using Camel with HBase and REST.
- Splitting big XML files with Camel - Part 1 - This blog post covers how to split big XML files in a streaming mode using new functionality introduced in Camel 2.9, and explains some of its inner details.
- Splitting big XML files with Camel - Part 2 - This covers splitting big XML files using the new
camel-stax component, introduced in Camel 2.9.
- Correlating logs from redelivered messages - by Claus Ibsen
- Using Apache Camel to Manage Amazon EC2 Startup/Shutdown by Jeff Davis
- Easy Handmade SOAP-Webservice-Versioning With Apache Camel by Martin Huber
- Using twitter and web socket with Apache Camel by Claus Ibsen
- Gotcha when using Camel Servlet - A blog post with some advice when using the Camel Servlet component.
- Working with EMail attachments - by Jason Sherman
- Using Quartz, Camel and Spring for Distributed Service Orchestration - by Nestor Urquiza
- Camel and MongoDB: a match made in heaven - Introduction to the Camel MongoDB component launched with the Camel 2.10 release.
- EIP in Action - A blog post with 4 use-cases that demonstrates how to use EIPs in theory and Camel in practice.
- Monitoring and managing Apache Camel using JMX - A blot post giving an overview of the monitoring and management capabilities Camel offers out of the box with JMX, and how you can have your custom Camel components / processors / beans included as well.
- Olympics Image loader powered by Apache Camel - Bilgin shows how to write a little website displays twitter images related to the Olympics in real time.
- Camel and RabbitMQ - A blog post showing how to integrate Camel with RabbitMQ
- Monitoring Camel applications on the Cloud - by Bilgin Ibryam
- Some Camel Stuff - A blog post from February 2013 by John Källström
- Apache Camel for home monitoring - A good blog post from February 2013 how to use Camel to pickup files from a home monitoring system that post temperature changes and route them to MQTT broker, and store in a SQL Database.
- Designing and Implementing our Camel-based mgm Cosmo Router - First blog of a series of blogs on experience with using Apache Camel implementing a solution for integrating an insurance software with a CRM system. Recommended read.
- Lessons learned from using Apache Camel, MTOM and JMS - Blog post on experience using SOAP with MTOM (using Apache CXF) and JMS (using Apache ActiveMQ).
- Camel CXF Component – WSDL First Example - A simple WSDL first Camel CXF producer and consumer.
- Camel CXFRS Component - Simple REST - A simple CXFRS example exposing a REST interface to a database table.
- From inside the code: Camel RouteBuilder and Java DSL - A deep dive into the internals of Apache Camel to see how the Java DSL works
- From inside the code: Camel Routing Engine Part I - A deep dive into the internals of Apache Camel to see how Camel setup the routes
- Testing Camel JPA routes with Pax-Exam and Karaf - This blog is about how to use JPA, CXF and ActiveMQ with Camel in Karaf and how to do the testing best
- Testing with Apache Camel - Blog post from April 2014 by Gnanaguru summarizing his experience looking into unit testing with Camel and all the possible ways this can be done.
- Correctly using Camel's AdviceWith in Unit Tests from April 2014 by Dugg Turnbull talking about his experience how to write unit tests with the powerful advice with functionality in Camel.
- Parleys Rest SMS with Apache Camel from April 2014 Imran Raza Khan talking about how to send SMS text messages using REST api with Apache Camel.
- Camel HTTP file upload with multipart/form-data from August 2014 by Peter Hilton how to send files over legacy system using HTTP built using Scala and the Scala DSL.
- Spring Boot, Docker and Websockets Integration with Apache Camel from April 2015 by Andrew Block how to build a Camel web app using Spring Boot that listen for docker events in a HTML5 web app using web sockets in a micro style manner.
- Using basic authentication and Jetty realms to protect Apache Camel REST routes from June 2015 by Dan Moore writes how to use basic auth with the Rest DSL and Jetty as component.
- Using Camel, CDI inside Kubernetes with Fabric8 from June 2015 by Ioanis Cannelos who writes how to build Camel microservices with CDI and have services discovery and injection with CDI for Docker containers running on Kubernetes with fabric8.
- Learn Apache Camel - Indexing Tweets in Real-Time from September 2016 by David Kiss, how to pull in tweets in real time and index those in elasticsearch and use a see the data in graphical dashboard.
- Calling Native Code with Camel from November 2016 by Josh Regan talking about how to call c, c++, c# code directly from Camel.
- Take JPA to another level from November 2016 by Flemming Harms talking about how to use JPA beans with Camel JPA in a more advanced way.
- The Apache Camel version of a Spring Batch tutorial from December 2016 by Abhilash Nair - A demo project that replicates a Spring Batch tutorial using Apache Camel within a Spring Boot app.
- Faster File Consumption with Apache Camel from January 2017 by Josh Reagan - Covers the strategies for consuming files faster in Apache Camel.
- How to use Maven with Apache Camel from February 2017 - Covers how quickly create, compile and run Camel applications.
- How to test Apache Camel JMS routes with Spring and ActiveMQ step by step from May 2017 by Marcin Zimecki - Covers how to unit test Camel with ActiveMQ JMS routes
- Short Retry vs Long Retry in Apache Camel from June 2017 by Bilgin Ibryam - Talks about difference between short and long retries with Camel and related concepts from integration patterns point of view.
- PGP Encryption and Decryption with Apache Camel from July 2017 by Jitendra Bafna article which explains how PGP works and shows how to use PGP in Camel routes for both encryption and decryption.
- Creating Clustered Singleton Services on Kubernetes with Apache Camel from October 2017 by Nicola Ferraro talks about how the Camel master component can be used for singleton routes in a cluster such as Kubernetes.
- Monitoring Camel with Prometheus in OpenShift from November 2017 by Bruno Meseguer talks about how to gather Camel metrics using Prometheus and display in Grafana.
- Which Camel DSL to use and why from December 2017 by Bilgin whom has compiled feedback from various Camel developers, consultants etc and discuss Java DSL vs XML DSL.
- Deploying Apache Camel to Google Kubernetes Engine from December 2017 by Evgeny Minkevich talks about how they run Apache Camel in containers on Google Cloud. The article has details how to manage, monitor and log your Camel applications.
- Spring Boot, Apache Camel, and Swagger UI from January 2018 by Bennet Schulz shows how you can quckly create a Camel application running on Spring Boot with Rest DSL and Swagger UI out of the box.
Tooling / Combination with other Products
These examples show Camel combined with several tools (e.g. IDE), ESBs, Application Services, and other middleware products such as messaging or OSGi container.
- Wanna try our Apache Camel developer tools for Enterprise Integration Patterns? by James Strachan
- Using NetBeans 7.0 to create a new Apache Camel project shows how to start from scratch in NetBeans to setup a Apache Camel project (tutorial style with screenshots)
- Using NetBeans 7.0 to create a new Apache Camel project without Spring dependency shows how to start from scratch in NetBeans to setup a Apache Camel project (tutorial style with screenshots) without any Spring dependency
- Integrating Apache Camel with JBoss ESB by Edgar Ankiewsky
- Combining ApacheCamel+BSF to make JBoss ESB polyglot by Edgard Ankiewsky Silva
- Implementing Fuji integration scenario using Camel SE by Louis Polycarpou
- An IRC alerter written using Apache Camel and Java how to easily integrate IRC with Camel to monitor and do alerts.
- Things to consider when selecting between Apache Camel and Apache Servicemix by Ashwin Karpe
- A jira notification system for irc using Camel by Guillaume Nodet
- Camel + Smooks from the official Smooks blog about Smooks integration Camel out of the box.
- Getting Started with Apache Camel and prepare for Apache ServiceMix deployment by Magnus K Karlsson
- Smooks OSGI: Camel, UN/EDIFACT, ServiceMix shows how to use Smooks with Camel running in the Apache ServieMix OSGi container.
- ServiceMix bridge to IBM WebSphereMQ how to bridge ActiveMQ and IBM WebSphereMQ with Camel running inside Apache ServiceMix 4.x (OSGi based).
- Camel integration with Oracle WebLogic JMS by Lowry Curry
- Camel integration with WebSphere MQ by Lowry Curry
- jBPM5/Drools Apache Camel integration a blog entry talking about JBMP5/Drools integration with Apache Camel.
- Use remote EJB in Camel routes by Jean-Baptiste Onofré
- Use Camel, CXF and Karaf to implement batches by Jean-Baptiste Onofré explains how to control a Camel route from another route and a JAX-RS server using CXF, package into an OSGi bundle ready to run in Apache Karaf.
- Karaf Tutorial Part 5 - Running Apache Camel integrations in OSGi by Christian Schneider
- Unit testing OSGi Blueprint with Apache Camel made easier - Blog post how Camel Testing with OSGi blueprint became much much easier, than having to resort to use pax exam.
- Communication between two remote Camel routes using Apache Karaf Cellar by Jean-Baptiste Onofré
- How to Start/Stop Camel Routes on an ActiveMQ Slave - by Jason Sherman
- Article about testing WMB - This article shows a hands-on approach of how you can test your IBM WebSphere Message Broker solutions in a simple way using modern tools, such as Apache Camel.
- Tools for building a real time analytics platform - Article demonstrating using Apache Camel and Storm for real-time analytics.
- camunda BPM + Apache Camel: Integrating two Open Source frameworks for a lightweight BPM+SOA infrastructure - From the Camunda team blogging how to use their product together with Apache Camel using a camunda-bpm component.
- Add Apache Camel and Spring as JBoss modules in WildFly - How to reuse Camel JARs as JBoss Modules with WildFly
- Running Camel on EAP - by Christian Posta, how to run Apache Camel on JBoss EAP / Wildfly using JBoss Modules.
- Bootstrapping Apache Camel in Java EE7 with WildFly 8 - by Markus Eisele, how to run Apache Camel on WildFly using CDI, as well information about other EE7 examples for Apache Camel.
- Your Apache Camel applications now includes out of the box documentation - by Claus Ibsen, blogs about new functionality in Camel 2.15 onwards that means all EIP and component documentation is out of the box at runtime.
- Some great hawtio videos by Robin Huiser - Three videos of demonstrating hawtio and Apache Camel in action.
- Using Camel Routes In Java EE Components - by Markus Eisele in June 2015 how to get started using Camel on Wildfly.
- Sending JMS Messages From WildFly 8 To WebLogic 12 with Camel - by Markus Eisele in June 2015 how to bridge JMS to/from WebLogic with Camel running on Widlfy.
- Using JPA And CDI Beans With Camel on WildFly - by Markus Eisele in June 2015 how to use JPA, CDI with Camel running on Wildfly.
- A universal Streamer for Apache Ignite based on Apache Camel - by Raúl Kripalani on the integration between Apache Ignite and Apache Camel.
- Video of Apache Camel tooling to edit your routes in type safe manner - A 10 minute video from December 2015 where Claus Ibsen demonstrates light-weight Camel tooling to edit Camel routes/endpoints in type safe manner from different IDEs.
- Video of fabric8 Apache Camel Maven Plugin to validate your Camel source code - A 12 minute video from January 2016 where Claus Ibsen demonstrates a new Maven plugin that allows to validate your Camel routes and endpoints from the source code, so you can catch any type errors and invalid configurations at code time, instead of having Camel fail at runtime.
- Hello Apache Camel - 15 small video tutorial's by Tobias Polley (June 2016) how to get started with Apache Camel (in German)
- Routing Oracle AQ messages using Apache Camel in ServiceMix - (February 2016) how to connect OracleAQ and Camel by Paco Saucedo
- Routing Oracle AQ messages using Apache Camel in ServiceMix: the XA option - (August 2016) how to connect OracleAQ and Camel with XA transactions by Paco Saucedo
- Using Apache Camel with Azure Service Bus - (November 2016) some notes how to use Camel with Microsoft Azure Service Bus with AMQP messaging by Frederik Jönsson
- SAP HANA using Camel's Simple language in HCI (November 2016) how to use Camel Simple language with SAP Cloud Integration.
- Camel and Kura: Providing Telemetry Data as OPC UA (November 2016) If you're using an industrial M2M protocol, consider the combined power of Camel and Kura to get your telemetry data squared away as OPC UA.
- Camel split and aggregate with Jboss data grid for persistence (December 2017) by Venu Surampudi for how to use JBoss Data Grid as persistent cache for Camel aggregator with recovery functionality.
- Camel Spring Cloud Stream (January 2017) by Donovan Muller whom introduces his Camel Spring Cloud Stream component with a live example running on OpenShift with Camel, Twitter and Spring Cloud Stream connected to RabbitMQ.
- Camel CXFRS Contract First (March 2018) by Josh Reagan whom blogs about how you can do OpenAPI contract-first development with CXF-RS and Apache Camel.
Camel and Groovy
Camel and Scala
Camel and Clojure
Camel and the IoT (Internet of Things)
Camel and Microservices/Cloud
Comparison to Camel's Competitors
Presentations on Apache Camel
- James Strachan was interviewed by Dana Gardner
- Episode 35 - A few beers with Chariot's Open Source Integration Experts - Chariot TechCast Episode 35 where they talk about: ServiceMix, Camel, FUSE, Mule, Spring Integration, EIP, ESB etc.
- The Basement Coders Episode 14 - Apache Camel - Basement Coders discusses Apache Camel. You may want to skip to the 25 minute where they start talking about Camel.
- JBoss Asylum Podcast Episode 28 - Fuse stories - Podcast from January 2013 with James Strachan and Rob Davies with the background history and how they got into creating Apache Camel, and how they tink Camel has become such successful.
- Podcast James Strachan - Mr Apache Camel - Podcast from February 2013 with James Strachan about Apache Camel, integration and the cloud.
- Developer Interview with Claus Ibsen - Video interview August 2014 with Claus Ibsen about Apache Camel, Camel tooling, and about the upcoming Camel release.
- Java Pub House - Episode 62. Hm, what's the best to travel this holiday? on Apache CAMEL, of course! - Podcast from January 2017 talking about what is Apache Camel and sharing real life experience from using it on multiple projects.
- Camel Design Patterns by Bilgin Ibryam (LeanPub, January 2016)
- Apache Camel Developer's Cookbook by Scott Cranton and Jakub Korab (Packt Publishing, December 2013)
- Instant Apache Camel Messaging System by Evgeniy Sharapov (Packt Publishing, September 2013)
- Instant Apache Camel Message Routing by Bilgin Ibryam (Packt Publishing, August 2013)
- Camel in Action by Claus Ibsen and Jonathan Anstey (Manning, December 2010)
- Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf (Addison Wesley, October 2003)
- Introduction to Apache Camel - Pluralsight online training course covering the core Camel framework, pattern implementations and hawt.io
- Apache Camel Video Tutorial - A 3 part video series that introduces you to Apache Camel, covers an use-case, and then highlights why you should use Camel.
- Java In Use - Apache Camel Introduction, Apace Camel Interview Questions, and other beginner related training for Apache Camel.
- Udemy Training: Apache Camel for Beginners - Learn by Coding in Java - Learn Apache Camel framework by coding it in Java. This is purely a coding course where you will be performing ton of code throughout the course. This course will cover integrations with Kafka, Active MQ, Postgres SQL , Rest WebServices and etc.
- Max Munus - Provides online training to many different technologies. They provide online training for Apache Camel.
- Ashwin Karpe's Blog (OpenSourceKnowledge) - Ashwin is a Camel committer and writes about Camel.
- Ben O'Day's Blog - Ben works in the field and sometimes blogs about Camel
- Bilgin Ibryam's Blog - Bilgin blogs about Camel, OFBiz and Open Source in general.
- Charles Moulliard's Blog - Charles occasionally blogs about Camel and OSGi
- Christian Schneider's Blog - Christian occasionally blogs about Camel and CXF.
- Claus Ibsen's Blog - Claus is a Camel committer since March 2008, and writes a lot about Camel.
- Hadrian Zbarcea - also blogs about Camel.
- James Strachan's Blog - James blogs about Camel sometimes too
- Jean-Baptiste Onofré's Blog - JB blogs about Camel, CXF, Karaf, ServiceMix and OSGi in general.
- Jon Anstey's Blog - Jon occasionally blogs about Camel
- Kai Wähner's Blog - Kai blogs about Camel, ESB, Cloud, and present Camel at various conferences as well.
- Luca Burgazzoli's Blog- Luca blogs about Camel, Cloud, Fabric8, Kubernetes.
- Marcelo Jarbali's Blog - Marcelo blogs about Websocket, Camel and integration.
- Michael Warecki's Blog - Michael blogs about SOA, BPA and Camel.
- Raul Kripalani's Blog - Raúl blogs about Camel, ServiceMix, ActiveMQ, CXF, SOA, Open Source in general, both in Spanish and English.
- Robert James Liguori's Blog - Blogs about Java and supporting resources including Apache Camel.
- Tracy Snell's Blog - Tracy frequently blogs about Camel.
- Willem Jiang's Blog - Willem also writes about Camel in English and Chinese.
- Souciance Eqdam Rashti - Blogs about integration and Apache Camel in English.