See also
See also Camel User Stories.
We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list.
Articles on Apache Camel
Introduction
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.
Some further simple introductory articles to learn the basics:
- Simple DSL OSGi bundle example by Andrej Koelewijn
- Realization of EAI Patterns with Apache Camel by Pascal Kolb at the Universität Stuttgart
- 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, how to use Camel to split and transform CSV files to POJO and XML and sending to a JMS destination
- Camellos - Discovering Apache Camel by Gunnar Hillert. A very nice and short blog series about Camel showing its powers in a simple and intuitive way.
- First step with Apache Camel by Lukasz Budnik. Great first steps where Lukas does a fairly complex route as his first encounter with Camel.
- 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 part 2 of the LEGO Camel blog series. This time we covers error handling and using beans with Camel.
Using Camel
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, a great blog entry how to use the Camel aggregator.
- Spring Remoting with JMS Example on Amin Abbaspour's Weblog
- Camel routes and HL7 by Roger Searjeant on using Camel and its HL7 support in the health care space.
- 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 to use Camel with AJAX. Interesting read.
- First steps with Apache Camel on Google App Engine by Martin Krasser posts his findings to get Camel running on the GAE.
- Camel, CXF and JMS by Example by Silvester van der Bijl. Good blog entry how to use CXF and Camel together.
- A simple file monitoring console with camel, cometd and jquery by Andrej Koelewijn. Shows how to use Camel to monitor log files and push lines changed using cometd to a webpage. All in a few files using Groovy.
- Advanced Event Notification Framework with Apache Camel by Hendy showing how to use Camel for a lightweight even notification system.
- Camel IRC Message Route Example by James Carr. An IRC bot which can parse JavaScript and Ruby expressions.
- A composite REST service using Apache Camel by Andrej Koelewijn. A blog entry how to expose a REST service and have Camel aggregate data from multiple sources to be returned.
- EDA events over system boundaries with Camel by Sculptur team blog.
- Dynamic FTP Client using Apache Camel and Spring by Mattias Severson, showing how to develop an FTP client that could transmit files to various FTP servers as a part of a delivery system in a Java enterprise application.
- 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 shows how to use Camel as a lightweight integration using web service and XML.
- Application-Monitoring & Statistics-Collection with Apache Camel by Martin Huber - Talks about how to gather Camel route statistics and persist those in a database using JPA.
- Camel exception handling overview by Ben O'Day giving a nice and short summary of some of the error handling capabilities in Camel.
- Remote Observer Pattern with Publish-Subscribe via XMPP by Hendy showing how easy it is to implement this pattern with Apache Camel using XMPP as transport.
- Implementing Asynchronous Observer Pattern with Bean Proxy by Hendy showing how easy it is to implement this pattern with Apache Camel using Camel's BeanProxy.
- 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 shows how to inherit configuration (such as error handling) when using Java DSL.
- 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, who blogs how to use Camel for asynchronous remoting over\ JMS, having the middleware hidden, so the client is unaware of this fact, its just using a interface.
- Dynamic Routing Using Health Information Policy with Apache Camel by Edward Brown and Jamie Goodyear. Published in Springer Communications in Computer and Information Science under the publication for "Biomedical Engineering Systems and Technologies, Third International Joint Conference, BIOSTEC 2010, Valencia, Spain, January 20-23, 2010, Revised Selected Papers".
- Transforming and splitting huge EDI files using Smooks and Camel by Claus Straube from Catify shows how to process huge EDI files with low CPU and memory footprint.
- JDBC Persistence for Camel Aggregator talks about how to use the Agreggator EIP with persistence support.
- TCP proxy with Apache Camel by Scott Cranton, showing how you can easily use Camel as a TCP proxy with Apache Mina.
- 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 shows how to call the public Stock Quote Web Service over the internet using CXF with Camel.
- Apache Camel and SOAP by Jan Kronquist showing an integration scenario using freely available SOAP web services to create a service that can return the weather at an airport.
- Using Apache Camel to monitor SNMP devices by Marcelo Jabali showing how to monitor SNMP devices using Apache Camel in a few lines of code
- Website mashup with Apache Camel by Jean-Baptiste Onofré shows how to extract data from HTML web sites using Apache Camel
- Error handling in Camel for JMS consumer endpoint by Torsten Mielke explains some of the options you have for error handling when using JMS.
- Cloud integration with Apache Camel and Amazon web services s3 sqs and sns by Kai Wähner explains how to interface Amazon Web Services (S3, SQS and SNS) with Apache Camel.
- 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 showing how to talk to a server using TCP with the Camel MINA component.
- Using HTTP-based endpoints with Apache Camel - Blog post by Marcelo Jabali showing how to expose a HTTP servie with the Camel Jetty component.
- Cloud Notifications with Apache Camel - Blog post by Ioannis Canellos writing about how to use camel-jclouds to be notified about your running nodes in the cloud
- 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, talks how you can correlate externally redelivered message in the logs, to know what is what. The blog also shows how you can customize logging levels, and what you can tell from JMX as well.
- Using Apache Camel to Manage Amazon EC2 Startup/Shutdown by Jeff Davis.
- Easy Handmade SOAP-Webservice-Versioning With Apache Camel by Martin Huber, blogs how to do WS versioning with Apache CXF and Camel.
- Using twitter and web socket with Apache Camel by Claus Ibsen, blogs how to use the new Twitter component to post live twitter search feeds to a web page using WebSocket.
- Gotcha when using Camel Servlet - A blog post with some advice when using the Camel Servlet component.
- Working with EMail attachments - by Jason Sherman, whom blogs about how to split emails with multiple attachments into multiple messages with a single attachment each, for further processing in Camel.
- Using Quartz, Camel and Spring for Distributed Service Orchestration - by Nestor Urquiza blogs about using Quartz and Camel to build a distributed solution running a clustered Camel application on multiple Tomcat instances.
- Camel and MongoDB: a match made in heaven - Introduction to the Camel MongoDB component launched with the Camel 2.10 release.
Tooling / Combination with other Products
These examples show Camel combined with several tools (e.g. IDE), ESBs, and other middleware products such as messaging or OSGi container.
- Wanna try our Apache Camel developer tools for Enterprise Integration Patterns? by James Strachan
- Integrating Apache Camel with JBoss ESB by Edgar Ankiewsky
- Implementing Fuji integration scenario using Camel SE by Louis Polycarpou on using Camel with Open ESB
- Combining ApacheCamel+BSF to make JBoss ESB polyglot by Edgard Ankiewsky Silva, a JBoss employeer.
- Open Source Integration with Apache Camel and How Fuse IDE Can Help by Jonathan Anstey. Updated article of the Apache Camel: Integration Nirvana. Great for learning what Camel is and what it can do
- 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 - all code is in a single XML hot deployed in Apache Karaf.
- 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 shows a test driven example how to start with Camel and the ServiceMix combo.
- 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 WebSphere MQ by Lowry Curry how to use IBM MQ Series (WebSphereMQ) with Apache Camel running in Apache ServiceMix using OSGi
- Smooks OSGI: Camel, UN/EDIFACT, ServiceMix shows how to use Smooks with Camel running in the Apache ServieMix OSGi container.
- jBPM5/Drools Apache Camel integration a blog entry talking about JBMP5/Drools integration with Apache Camel.
- Camel integration with Oracle WebLogic JMS by Lowry Curry showing how to use Apache Camel JMS with Oracle WebLogic JMS, running in Fuse ESB.
- 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
- Use remote EJB in Camel routes by Jean-Baptiste Onofré explains how to use an EJB hosted in a remote J2EE application server in a Camel route hosted in Apache ServiceMix.
- 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, talks about using Camel, OSGi and Karaf.
- 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, whom blogs about how to align Camel routes in an master/slave ActiveMQ cluster, to be active only when the broker is active.
Camel and Groovy
- Groovy and Grape - easiest way to send gtalk message with Apache Camel by Andrej Koelewijn how easy it is to use Groovy and Grape to quickly try out new frameworks such as Apache Camel.
- Using Groovy and Camel to pool Google Analyst email reports by Mr. Haki
- Using grails-camel plugin to work with Camel in Grails land by Mr. Haki
- Send mail with Apache Camel from Grails by Mr. Haki
- Groovy and Camel for monitoring ActiveMQ by Eric Hauser how to monitor AMQ Advisory queues from a single groovy file.
- A Groovy ride on Camel by Jack Hung. Shows how to use Groovy with Camel to do a great content based route and transformation.
Camel and Scala
- Interview with Martin Krasser about camel-scalaz from Jaxcenter. Scalaz-Camel: fully leveraging 'what Scala and Scalaz offers for functional programming.'
- Apache Camel and Scala: A powerful Combination by Kai Wähner
- A little Scala DSL example - A little blog post showing how to use the Camel Scala DSL levering Scala functions directly in the DSL.
Camel and Clojure
- Using Apache Camel from Clojure by Jason Whitlark. A blog entry how to get Camel working with the Clojure programming language.
Comparison to Camel's Competitors
- Apache Camel alternatives by Gunnar Hillert. He presents a brief overview of other projects in the integration space.
- Spring Integration and Apache Camel by Biju Kunjummen. An objective showcase, showing the same case how to do it with Spring Integration and Apache Camel.
- When to use Apache Camel? by Kai Wähner blogs about his options on when to use Apache Camel, and when not to.
- Spoilt for Choice: Which Integration Framework to use – Spring Integration, Mule ESB or Apache Camel? by Kai Wähner who take a look at the three integration projects, and gives his opinions where they stand against each other
- Spring Integration Project Creation VS. Apache Camel Project Creation - by Claus Ibsen, blog posted on DZone to compare creating a new SI project and how the example could be created with Apache Camel.
Miscellaneous
- Apache Camel Reference Card at DZone (the first card out of two) by Claus Ibsen
- Updated Apache Camel Reference Card at DZone by Claus Ibsen, updated for Camel 2.x Reference Card
- 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. Article which was Java Technical Insights of the Month.
Non-English
- Domain-Specific Languages (DSLs) in Apache Camel (Spanish) by Gema Perdiguero, Tecsisa.
- Apache Camel integration in ServiceMix (Spanish) by Sebastián Gómez, Tecsisa.
- Apache Camel: Enterprise Integration met scripttalen en DSLs (Dutch) by Peter Maas, Finalist IT Group.
- A practical example of using Camel and Groovy to post russian currency rates on Twitter in russia by dulanov.
- Java integration frameworks - Spring Integration vs. Apache Camel Article from April 2010 which compares the two frameworks (in french).
- 3 Articles about Apache Camel to push notifications to Apple devices (in French) by Alexis Kinsella. Introduces Apache Camel and shows how to push notifications to Apple devices. In french and there are 3 articles, so make sure to read the other two as well.
Presentations on Camel
- Implementing Enterprise Integration Patterns with Apache Camel presentation by Eduard Hildebrandt. Very nice power point presentation.
- Dead Simple Integration with Apache Camel presentation by Aaron Mulder from Chariot Solutions.
- Claus Ibsen's Apache Camel presentation at the FUSE community day in London 2010.
- FuseSource presentations on Camel and other related Apache projects
- Claus Ibsen presented Apache Camel at Devoxx 2010 - Slides from the presentation Claus did at the Devoxx conference.
- Introduction to Apache Camel is a nice set of slides to get familiar with Apache Camel.
- Systems Integration in the Cloud Era with Apache Camel (presented by Kai Wähner at Confess_2012 in Austria) shows how to integrate different cloud services (IaaS, PaaS, SaaS) and how to create own components.
- Business Process Management (BPM) beyond Web Services with Apache Camel and Activiti (presented by Kai Wähner at CamelOne 2012 in Boston) explains why and how to separate BPM and integration problems.
- Spoilt for Choice - Which Integration Framework to use? (presented by Kai Wähner at CamelOne 2012 in Boston) compares Apache Camel, Spring Integration, and Mule ESB. Besides showing pros and cons of each framework, the slides explain when to use an Enterprise Service Bus (ESB) instead of these frameworks.
Webinar, Screenshot, and Video presentations on Camel
- James Strachan's Devoxx 2009 talk is mostly about Camel and ActiveMQ
- ScreenCast: an introduction to Apache Camel and the use of Enterprise Integration Patterns in Medium Resolution or High Resolution by James Strachan
- Taking Camel for a ride presentation by Bruce Snyder at ApacheCon US 2008 (Click on link to the presentation in his blog).
- JavaZone Conference - Taking Apache Camel for a Rider - Video presentation by Bruce Snyder at JavaZone September 2008 in Oslo, Norway (Click on link to the presentation to show the video).
- Introduction to messaging with ActiveMQ at Øredev 2008 conference presented by Bruce Snyder (with Camel in the end).
- Videos de las charlas de la 9a reunión de JavaMexico (Spanish) by Domingo Suarez who did a 1 hour presentation. This is a video recording of his presentation.
- FuseSource webinars - Upcoming and archived webinars on Apache Camel and other related Apache products.
- FuseSource YouTube - FuseSource You Tube Channel with webcasts about Camel and related Apache projects.
- Screencast/Demo of Smooks and Apache Camel processing UN/EDIFACT - by Tom Fennelly showing how Smooks and Camel works together
- Claus Ibsen's Devoxx 2010 talk is all about Apache Camel
- Facebook integration Apache Camel - 15 min screenshot showing how to integrate Camel with Facebook. This screenshot is part of a series, with new videos coming up.
- Paris JUG 2011 - Integration with Apache Camel and ESB - Video presentation by Charles Moulliard showing Apache Camel and Apache ServiceMix. In french.
- JEEConf 2011 - What riding the Camel can do to make integration easier for you - Video presentation by Claus Ibsen, at the JEEConference in Kiew, Ukraine, May 2011.
- Belgium JUG 2011 - Integration with Apache ServiceMix and Camel - Video presentation by Charles Moulliard, talking about ESB and Camel.
- In the brain of James Strachan, riding the Camel - Video presentation by James Strachan, talking about Camel at Skillsmatter, August 2011.
- CamelOne 2011 Video presentations - The video presentations from the CamelOne 2011 conference, which took place in May 2011.
- What Riding the Camel can make integration easier for you - Video presentation by Claus Ibsen, talking about Camel at JavaZone, September 2011
- Er Apache Camel riktig valg for deg? Lytt til erfarne Camel spotters - Video presentation by Rune Peter Bjørnstad, and Bjørn Nordlund talking about their experience with using Camel. The build up a live use-case and present it with a sense of humor. The talk is in norwegian. Presented at JavaZone, September 2011
- Devoxx 2011 - Introduction to Apache ActiveMQ, ServiceMix, Camel and CXF - Video presentation by Charles Moulliard and Gert Vanthienen giving a run down of these Apache integration projects.
- Using Apache Camel and Java EE in an OSGi World - Video presentation from JavaOne 2011 by Jeff Genender and Johan Edstrom, talking about their experience with Camel and OSGi in a real life project.
- Migrating akka-camel module to Akka 2.x - Video presentation from ScalaDays 2012 by Peter Gabryanczy. Peter has been working on migration of Akka-Camel module to Akka 2.x, and will share his experiences and show how Apache Camel library plays nicely with the newest version of akka 2.x. The presentation will be full of examples and will contain a short demo of camel integration.
Podcasts where Camel is taking part
- James Strachan was interviewed by Dana Gardner on Apache Camel and its DSL and support for Enterprise Integration Patterns. Read the transcript or check out the podcast
- 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.
Books on Apache Camel
- The Books page contains information about several books about Apache Camel and the ideas and patterns that Camel implements.
Additional Resources
- Linkedin Apache Camel group - Linkedin group for the Apache Camel project.
- EIP printable flashcards - A 6 page PDF with printable EIP cards.
- There are several companies that provide extra documentation, examples, tutorials, etc... See the Commercial Camel Offerings page for more details.
Camel bloggers
- Claus Ibsen's Blog - Claus is a Camel committer since March 2008, and writes a lot about Camel.
- Jon Anstey's Blog - Jon occasionally blogs about Camel
- James Strachan's Blog - James blogs about Camel sometimes too
- Willem Jiang's Blog - Willem also writes about Camel in English and Chinese.
- Charles Moulliard's Blog - Charles occasionally blogs about Camel and OSGi
- Ben O'Day's Blog - Ben works in the field and sometimes blogs about Camel
- OpenSourceKnowledge - Ashwin Karpe's Blog - Ashwin is a Camel committer and writes about Camel.
- Christian Schneider's Blog - Christian occasionally blogs about Camel and CXF.
- Hadrian Zbarcea - also blogs about Camel.
- Marcelo Jarbali's Blog - Marcelo blogs about Websocket, Camel and integration.
- Jean-Baptiste Onofré's Blog - JB blogs about Camel, CXF, Karaf, ServiceMix and OSGi in general.
- Kai Wähner's Blog - Kai blogs about Camel, ESB, Cloud, and present Camel at various conferences as well.
- 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.