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.
Archived Webinars and Screencasts
Articles are divided into several sections. As the lists grow, further sectioning refinements may be necessary.
These examples show usage of several different components and other concepts such as error handling.
- 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.
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.
Camel and Groovy
Camel and Scala
Camel and Clojure
Camel and the IoT (Internet of Things)
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.
- 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)
- 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.
- 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.