Working with Apache Camel

Apache Camel is an integration framework that makes it easier to route messages between diverse systems and application components. It allows developers to easily send messages to systems or components using multiple transports, languages, and data formats. Its support for Enterprise Integration Patterns (EIPs) makes it simple to implement many different publisher-subscriber models with minimum coding.

In this course, you will use Apache Camel to build integration solutions that use Enterprise Integration Patterns based on the book by Gregor Hohpe and Bobby Woolf. These EIPs identify common designs for asynchronous, message-centric solutions.


Two days (14 hours)

Target Audience

Java Application Programmers.


Java proficiency and a basic knowledge of application development with the Eclipse IDE and Maven.

Course Objectives

After completing this class, you will be able to:

  • Briefly describe the role Camel plays in a Service Oriented Architecture and its value.
  • Describe the difference between Orchestration and Choreography and give a sample use case.
  • Define an Enterprise Integration Pattern (EIP) and give two examples.
  • Match an EIP pattern graphic with its associated pattern description.
  • Control the routing of messages from a data generator to a data consumer.
  • Control the exchange of messages between two systems, services, or application components using both a transactional model and a non-transactional model.
  • Use Camel components to connect to a variety of endpoints including java beans, CXF for web services, ActiveMQ for JMS, JDBC data sources, file and ftp sources.
  • Extend the Camel type converter system for new message types.
  • Use Camel to control the timing and sequencing of message delivery.
  • Specify Camel routes using Java and Spring Domain Specific Language (DSL).
  • Implement Camel messaging concurrency for scalability.
  • Implement Camel Test for unit and integration testing.
  • Deploy Camel to a JVM, Tomcat Server, and Enterprise Java Bean (EJB) environment.
  • Set up an error hander and exception policy to manage communication problems.
  • Monitor and test Camel operations to ensure it is working successfully.

Course Agenda

  • Apache Camel Overview
  • Routing
  • Beans
  • Error Handling
  • Testing
  • Components
  • Enterprise Integration Patterns
  • Concurrency
  • Running Camel
  • Deploying Camel
  • Managing and Monitoring Camel