Space Index

0-9 ... 0A ... 33B ... 41C ... 160D ... 32E ... 29
F ... 14G ... 28H ... 84I ... 17J ... 28K ... 4
L ... 18M ... 33N ... 11O ... 7P ... 24Q ... 5
R ... 32S ... 81T ... 42U ... 17V ... 8W ... 30
X ... 14Y ... 1Z ... 4!@#$ ... 0  

0-9

A

Page: Acknowledgment
Many thanks to the following organizations for helping the Camel project. Headway Software provided free licenses of Structure101 for analyzing and managing the architecture of Camel Java code.
Page: ActiveMQ
ActiveMQ Component The ActiveMQ component allows messages to be sent to a JMS Queue or Topic or messages to be consumed from a JMS Queue or Topic using Apache ActiveMQ. This component is based on JMS Component and uses Spring's JMS support for declarative
Page: ActiveMQ Camel Tomcat
Embedded ActiveMQ Broker with Camel running in Apache Tomcat example Available as of Camel 2.11 This example shows how you can embed Apache ActiveMQ Broker and Camel in a web application, which can run on Apache Tomcat or other web containers. This exampl
Page: Add New Component Guide
How to add a new component 1. Open an JIRA issue Open a JIRA issue at https://issues.apache.org/jira/browse/CAMEL, if does not already exist. The issue type should be "New Feature". A sample can be found here: https://issues.apache.org/jira/browse/CAMEL-3
Page: Advanced configuration of CamelContext using Spring
Advanced configuration of CamelContext using Spring When using Spring the CamelContext can be pre configured based on defined beans in spring XML. This wiki page documentes these features. Most of these features requires Camel 2.0. What can be configured
Page: AdviceWith
AdviceWith Available as of Camel 2.1 AdviceWith is used for testing Camel routes where you can advice an existing route before its being tested. What adviceWith allows is to changes some factors on the route before the test is being run. At current time y
Page: Aggregate Example
Aggregate Example Available as of Camel 2.3 About This example demonstrates the new overhauled Aggregator EIP in Apache Camel 2.3. The example is focused on the persistence support, which means the aggregated messages is stored in a persistent file storag
Page: Aggregator
Aggregator This applies for Camel version 2.2 or older. If you use a newer version then the Aggregator has been rewritten from Camel 2.3 onwards and you should use this Aggregator2 link instead. The Aggregator from the EIP patterns allows you to combine a
Page: Aggregator2
Aggregator This applies for Camel version 2.3 or newer. If you use an older version then use this Aggregator link instead. The Aggregator from the EIP patterns allows you to combine a number of messages together into a single message. A correlation Expres
Page: AHC
Async Http Client (AHC) Component Available as of Camel 2.8 The ahc: component provides HTTP based endpoints for consuming external HTTP resources (as a client to call external servers using HTTP). The component uses the Async Http Client library. Maven u
Page: AHC-WS
Async Http Client (AHC) Websocket Client Component Available as of Camel 2.14 The ahc-ws component provides Websocket based endpoints for a client communicating with external servers over Websocket (as a client opening a websocket connection to an externa
Page: AMQP
AMQP Available as of Camel X.X The amqp: component supports the AMQP protocol using the Client API of the Qpid project. In case you want to use AMQP with RabbitMQ you might also be interested in the Camel RabbitMQ component. Maven users will need to add t
Page: Annotation Based Expression Language
Annotation Based Expression Language You can also use any of the Languages supported in Camel to bind expressions to method parameters when using Bean Integration. For example you can use any of these annotations: Annotation Description @Bean Inject a Bea
Page: AOP
AOP Available as of Camel 2.0 The AOP has been marked as @deprecated in Camel 2.4 and will be removed in a future release. The concept of the AOP did not go in the directions we liked, so we decided it's better to remove unused/less used features. Camel h
Page: APNS
Apns Component Available as of Camel 2.8 The apns component is used for sending notifications to iOS devices. The apns components use javapns library. The component supports sending notifications to Apple Push Notification Servers (APNS) and consuming fee
Page: Architecture
Architecture Camel uses a Java based Routing Domain Specific Language (DSL) or an Xml Configuration to configure routing and mediation rules which are added to a CamelContext to implement the various Enterprise Integration Patterns. At a high level Camel
Page: Articles
See also Camel User Stories. 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
Page: Async
Async Available as of Camel 2.0 The asynchronous API in Camel have been rewritten for Camel 2.0, and the information on this page applies for Camel 2.0 and later. The Async API in Camel is primarily divided in two areas 1. Initiating an Async messaging fr
Page: Asynchronous Processing
Asynchronous Processing Overview The information on this page applies for Camel 2.4 onwards. Before Camel 2.4 the asynchronous processing is only implemented for JBI where as in Camel 2.4 onwards we have implemented it in many other areas. See more at Asy
Page: Asynchronous Queueing
For details see the discussion on Asynchronous Queueing on the SOA Patterns site. To implement asynchronous queueing just send a message to an async endpoint like JMS or SEDA. You can also force InOnly message exchange patterns using an annotation if you
Page: Asynchronous Routing Engine
Asynchronous Routing Engine Available as of Camel 2.4 As of Camel 2.4 the asynchronous routing engine is back and kicking. All the Enterprise Integration Patterns are supported as well a selected number of Components: AHC Camel 2.8: (only producer) AWS Ca
Page: Atmosphere-Websocket
Atmosphere Websocket Servlet Component Available as of Camel 2.14 The atmosphere-websocket: component provides Websocket based endpoints for a servlet communicating with external clients over Websocket (as a servlet accepting websocket connections from ex
Page: Atom
Atom Component The atom: component is used for polling Atom feeds. Camel will poll the feed every 60 seconds by default. Note: The component currently only supports polling (consuming) feeds. Maven users will need to add the following dependency to their
Page: avro
Avro Component Available as of Camel 2.10 This component provides a dataformat for avro, which allows serialization and deserialization of messages using Apache Avro's binary dataformat. Moreover, it provides support for Apache Avro's rpc, by providing pr
Page: AWS
Camel Components for Amazon Web Services The Camel Components for Amazon Web Services provide connectivity to AWS services from Camel.       AWS service Camel component Camel Version Component description Simple Queue Service (SQS) AWS-SQS 2.6.0 Supports
Page: AWS-CW
CW Component *Available as of Camel 2.11 The CW component allows messages to be sent to an Amazon CloudWatch metrics. The implementation of the Amazon API is provided by the AWS SDK. You must have a valid Amazon Web Services developer account, and be sign
Page: AWS-DDB
DDB Component Available as of Camel 2.10 The DynamoDB component supports storing and retrieving data from/to Amazon's DynamoDB service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon DynamoDB. More information
Page: AWS-S3
S3 Component Available as of Camel 2.8 The S3 component supports storing and retrieving objetcs from/to Amazon's S3 service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon S3. More information are available at
Page: AWS-SDB
SDB Component Available as of Camel 2.8.4 The sdb component supports storing and retrieving data from/to Amazon's SDB service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SDB. More information are available
Page: AWS-SES
SES Component Available as of Camel 2.8.4 The ses component supports sending emails with Amazon's SES service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SES. More information are available at Amazon SES. U
Page: AWS-SNS
SNS Component Available as of Camel 2.8 The SNS component allows messages to be sent to an Amazon Simple Notification Topic. The implementation of the Amazon API is provided by the AWS SDK. You must have a valid Amazon Web Services developer account, and
Page: AWS-SQS
SQS Component Available as of Camel 2.6 The sqs component supports sending and receiving messages to Amazon's SQS service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SQS. More information are available at A
Page: AWS-SWF
SWF Component Available as of Camel 2.13 The Simple Workflow component supports managing workflows from Amazon's Simple Workflow service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon Simple Workflow. More inf

B

Page: BacklogDebugger
BacklogDebugger Available as of Camel 2.12 Camel supports a backlog debugger that is used for live debugging of message they are routed in Camel. The backlog debugger has additional functionality for easier debugging aimed at tooling, than the Debugger. T
Page: BacklogTracer
BacklogTracer Interceptor Available as of Camel 2.11 Camel supports a backlog tracer interceptor that is used for capturing a trace message of each message as they are routed in Camel. The trace message is stored in a backlog queue, which contains the las
Page: BAM
Business Activity Monitoring The Camel BAM module provides a Business Activity Monitoring (BAM) framework for testing business processes across multiple message exchanges on different Endpoint instances. Consider, for example, a simple system in which you
Page: BAM Example
Business Activity Monitor (BAM) Example The BAM (Business Activity Monitor) example shows how to monitor your transaction flows using Camel. In this example we will use Camel to monitor a business process consisting of purchase orders invoices Then we wil
Page: Banner
<div id="asf_logo"> <div id="activemq_logo" style="height:108px; background:transparent url(banner.data/apache-camel-7.png) no-repeat scroll left top;"> <a style="float:left; width:310px;display:block;text-indent:-5000px;text-decoration:none;line-height:1
Page: Barcode Data Format
Available as of Camel 2.14 The barcode data format is based on the zxing library. The goal of this component is to create a barcode image from a String (marshal) and a String from a barcode image (unmarshal). You're free to use all features that zxing off
Page: Base64
Base64 Data Format Available as of Camel 2.11 The Base64 Data Format is a data format for base64 encoding and decoding. Options Option Default Description lineLength 76 To specific a maximum line length for the encoded data. lineSeparator \r\n The line se
Page: Batch Consumer
Batch Consumer Available as of Camel 2.0 Batch Consumer is basically a Polling Consumer that is capable of polling multiple Exchanges in a pool. What we have done in Camel 2.0 is to standardize this into a org.apache.camel.BatchConsumer interface that a c
Page: Bean
Bean Component The bean: component binds beans to Camel message exchanges. URI format bean:beanID[?options] Where beanID can be any string which is used to look up the bean in the Registry Options Name Type Default Description method String null The metho
Page: Bean Binding
Bean Binding Bean Binding in Camel defines both which methods are invoked and also how the Message is converted into the parameters of the method when it is invoked. Choosing the method to invoke The binding of a Camel Message to a bean method call can oc
Page: Bean Injection
Bean Injection We support the injection of various resources using @EndpointInject or @BeanInject. This can be used to inject Endpoint instances which can be used for testing when used with Mock endpoints; see the Spring Testing for an example. ProducerTe
Page: Bean Integration
Bean Integration Camel supports the integration of beans and POJOs in a number of ways Annotations If a bean is defined in Spring XML or scanned using the Spring component scanning mechanism and a <camelContext> is used or a CamelBeanPostProcessor then we
Page: Bean Language
Bean Language The purpose of the Bean Language is to be able to implement an Expression or Predicate using a simple method on a bean. So the idea is you specify a bean name which will then be resolved in the Registry such as the Spring ApplicationContext
Page: Bean Validator
Bean Validator Component Available as of Camel 2.3 The Validator component performs bean validation of the message body using the Java Bean Validation API (JSR 303). Camel uses the reference implementation, which is Hibernate Validator. Maven users will n
Page: BeanIO
BeanIO Available as of Camel 2.10 The BeanIO Data Format uses BeanIO to handle flat payloads (such as XML, CSV, delimited, or fixed length formats). BeanIO is configured using a mappings XML file where you define the mapping from the flat format to Object
Page: BeanShell
BeanShell Camel supports BeanShell among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a BeanShell expression use the following Java code: ...choice() .when(script("beanshell", "request.ge
Page: Beanstalk
Beanstalk component Available in Camel 2.15 camel-beanstalk project provides a Camel component for job retrieval and post-processing of Beanstalk jobs. You can find the detailed explanation of Beanstalk job lifecycle at Beanstalk protocol. Dependencies Ma
Page: Better JMS Transport for CXF Webservice using Apache Camel
Better JMS Transport for CXF Webservice using Apache Camel Configuring JMS in Apache CXF before Version 2.1.3 is possible but not really easy or nice. This article shows how to use Apache Camel to provide a better JMS Transport for CXF. Update: Since CXF
Page: Binding
Binding In Camel terms a binding is a way of wrapping an Endpoint in a contract; such as a Data Format, a Content Enricher or validation step. Bindings are completely optional and you can choose to use them on any camel endpoint. Bindings are inspired by
Page: Bindy
Bindy The goal of this component is to allow the parsing/binding of non-structured data (or to be more precise non-XML data) to/from Java Beans that have binding mappings defined with annotations. Using Bindy, you can bind data from sources such as : CSV
Page: Blueprint Testing
Blueprint Testing Available as of Camel 2.10 camel-test-blueprint does only support testing one CamelContext. So if you have 2 or more CamelContexts in your blueprint XML files, then first found CamelContext is used during testing. Testing is a crucial pa
Page: Book
Book These pages are used to create the DocBook for the User Guide Introduction Getting Started Architecture Enterprise Integration Patterns Cook Book Tutorials Languages Appendix DataFormat Appendix Pattern Appendix Component Appendix
Page: Book Architecture
Architecture For a full details of the individual languages see the Language Appendix For a full details of the individual components see the Component Appendix
Page: Book Component Appendix
Component Appendix There now follows the documentation on each Camel component.
Page: Book cookbook
CookBook
Page: Book DataFormat Appendix
Data Format Appendix
Page: Book Enterprise Integration Patterns
Enterprise Integration Patterns Camel supports most of the Enterprise Integration Patterns from the excellent book of the same name by Gregor Hohpe and Bobby Woolf. Its a highly recommended book, particularly for users of Camel. Pattern Index There now fo
Page: Book Front Cover
Apache Camel User Guide <h3 id="replaceme">Version 2.13.0</h3> Copyright 2007-2014, Apache Software Foundation
Page: Book Getting Started
Getting Started with Apache Camel The Enterprise Integration Patterns (EIP) book The purpose of a "patterns" book is not to advocate new techniques that the authors have invented, but rather to document existing best practices within a particular field. B
Page: Book In One Page
Page: Book Introduction
Introduction
Page: Book Languages Appendix
Languages Supported Appendix To support flexible and powerful Enterprise Integration Patterns Camel supports various Languages to create an Expression or Predicate within either the Routing Domain Specific Language or the Xml Configuration. The following
Page: Book Pattern Appendix
Pattern Appendix There now follows a breakdown of the various Enterprise Integration Patterns that Camel supports Messaging Systems Messaging Channels Message Construction Message Routing Message Transformation Messaging Endpoints System Management
Page: Book Quickstart
Quickstart To start using Apache Camel quickly, you can read through some simple examples in this chapter. For readers who would like a more thorough introduction, please skip ahead to Chapter 3.
Page: Book Table of Contents
Table of Contents <ul class="toc"> <li class="frontmatter"><a href="#toc">Table of Contents</a></li> <!-- <li class="frontmatter"><a href="#preface">Preface</a></li> --> <li class="chapter"><a href="#chapter-introduction">Introduction</a></li> <li class="
Page: Book Tutorials
Tutorials There now follows the documentation on camel tutorials
Page: Books
Books This page lists the known books about Apache Camel. If you happen to know a book which is not listed then please contact us, for example using the Mailing Lists. Camel in Action Apache Camel Developer's Cookbook Instant Apache Camel Message Routing
Page: Box
Box Component Available as of Camel 2.14 The Box component provides access to all of the Box.com APIs accessible using box-java-sdk-v2. It allows producing messages to upload and download files, create, edit, and manage folders, etc. It also supports APIs
Page: BrowsableEndpoint
BrowsableEndpoint BrowsableEndpoint is an extension interface an Endpoint may implement to support the browsing of the Message exchanges which are pending or have been sent on it. Some example implementations include JMS for queues only (as of 1.3.0) List
Page: Browse
Browse Component The Browse component provides a simple BrowsableEndpoint which can be useful for testing, visualisation tools or debugging. The exchanges sent to the endpoint are all available to be browsed. URI format browse:someName[?options] Where som
Page: Building
Building Camel from Source Camel uses Maven as its build and management tool. If you don't fancy using Maven you can use your IDE directly or Download a distribution or JAR. Prequisites Required: Download and install Maven. (Maven [3.0.2,3.1.0) is require

C

Page: Cache
Cache Component Available as of Camel 2.1 The cache component enables you to perform caching operations using EHCache as the Cache Implementation. The cache itself is created on demand or if a cache of that name already exists then it is simply utilized w
Page: cacheReplicationJMSExample
Example: JMS cache replication Please note, that this example is not finished yet. It is based on OSGi iTest instead of real life example. But no matter to that it is very good staring point for all Camel Cache Riders! JMS replication is the most powerful
Page: Cafe Example
Cafe Example This example shows how to use Camel to implement a Cafe use case. First It uses the splitter to dispatch the order, then sends the orders to barista by checking if the coffee is hot or cold. When the coffee is ready, we use a aggregate to gat
Page: Camel 1.0.0 Release
New and Noteworthy Welcome to the first 1.0.0 release packed with features, Enterprise Integration Patterns, great support for Spring and a whole host of Components. Saddle up and take Camel for a ride! Getting the Binary Distributions Description Downloa
Page: Camel 1.1.0 Release
New and Noteworthy Welcome to the 1.1.0 release which includes a number of new features, improvements and bug fixes. hugely improved Bean Integration to work nicely with beans and Camel; making Camel even less intrusive improved Spring XML support using J
Page: Camel 1.2.0 Release
New and Noteworthy Welcome to the 1.2.0 release which includes 61 new features, improvements and bug fixes such as... Data Format to support pluggable marshalling and unmarshalling of data in various formats like JAXB, XMLBeans, Serialization or Artix Dat
Page: Camel 1.3.0 Release
New and Noteworthy Welcome to the 1.3.0 release which includes 208 new features, improvements and bug fixes such as... improved Bean Integration improved testing via Spring Testing along with the Mock, Test, DataSet components browsing of endpoints via th
Page: Camel 1.4.0 Release
Camel 1.4.0 release New and Noteworthy Welcome to the 1.4.0 release which includes 261 new features, improvements and bug fixes such as... major improvements in JMS and Mail components major improvements in Camel JMX management (enabled by default) major
Page: Camel 1.5.0 Release
Camel 1.5.0 release New and Noteworthy Welcome to the 1.5.0 release which approx 266 issues resolved (new features, improvements and bug fixes such as...) support for Guice for dependency injection along with a new Guice JMS Example major improvements in
Page: Camel 1.6.0 Release
Camel 1.6.0 release New and Noteworthy Welcome to the 1.6.0 release which approx 169 issues resolved (new features, improvements and bug fixes such as...) RedeliveryPolicy added support for ref attribute to reference a existing policy in the Registry majo
Page: Camel 1.6.1 Release
Camel 1.6.1 release New and Noteworthy Welcome to the 1.6.1 release which approx 93 issues resolved (new features, improvements and bug fixes such as...) Performance enhancement when sending high load of messages through Camel Fixes for thread safety for
Page: Camel 1.6.2 Release
Camel 1.6.2 release New and Noteworthy Welcome to the 1.6.2 release which approx 101 issues resolved (new features, improvements and bug fixes such as...) Fixes for OSGi bundles. Support multiple camel versions in OSGi containers. Fixed Karaf features for
Page: Camel 1.6.3 Release
Camel 1.6.3 release New and Noteworthy Welcome to the 1.6.3 release which approx 39 issues resolved (new features, improvements and bug fixes such as...) Use UTF-8 as the default charset Locale independent upper case in Getter/Setter introspection Backpor
Page: Camel 1.6.4 Release
Camel 1.6.4 release New and Noteworthy Welcome to the 1.6.4 release that includes 7 issues resolved. This is the last release of the camel-1.x branch. Message content redelivered asynchronously by DLC is now rereadable Aggregator - Exception thrown from c
Page: Camel 2.0 Design
Camel 2.0 Design This wiki page lists the overall goals of the 2.0 release of Camel. For a detailed view see the Camel 2.0 JIRA roadmap Main features New async routing leveraging the JDK concurrent API to replace AsyncProcessor DONE default to using trans
Page: Camel 2.0-M1 Release
Camel 2.0-M1 release New and Noteworthy Welcome to the first milestone 2.0-M1 release of the new Apache Camel project, including 368 issues resolved (new features, improvements and bug fixes such as...) Introduced type converter registry to allow end user
Page: Camel 2.0-M2 Release
Camel 2.0-M2 release New and Noteworthy Welcome to the 2.0-M2 release which approx 222 issues resolved (new features, improvements and bug fixes such as...) Introduced type converter registry to allow end users to programmatic get access to this registry
Page: Camel 2.0-M3 Release
Camel 2.0-M3 release New and Noteworthy Welcome to the 2.0-M3 release which approx 109 issues resolved (new features, improvements and bug fixes such as...) Complete removal of specialized Exchange using generics Performance improvements JMS improvements
Page: Camel 2.0.0 Release
Camel 2.0.0 release New and Noteworthy Welcome to the 2.0.0 release which approx 760 issues resolved (new features, improvements and bug fixes such as...) Introduced type converter registry to allow end users to programmatic get access to this registry ma
Page: Camel 2.1.0 Release
Camel 2.1.0 release New and Noteworthy Welcome to the 2.1.0 release which approx 303 issues resolved (new features, improvements and bug fixes such as...) Pluggable API for Management allowing 3rd party to manage Camel. Use org.apache.camel.spi.Management
Page: Camel 2.10.0 Release
Camel 2.10.0 release New and Noteworthy Welcome to the 2.10.0 release with approximately 483 issues resolved - including new features, improvements, and bug fixes, such as: Added support for Java 1.7 Added consumer to JCR component Internal code cleanup t
Page: Camel 2.10.1 Release
Camel 2.10.1 release New and Noteworthy Welcome to the 2.10.1 release which is mainly a bug fix release with 65 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgrading See C
Page: Camel 2.10.2 Release
Camel 2.10.2 release New and Noteworthy Welcome to the 2.10.2 release which is mainly a bug fix release with 71 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgrading See C
Page: Camel 2.10.3 Release
Camel 2.10.3 release New and Noteworthy Welcome to the 2.10.3 release which is mainly a bug fix release with 74 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgrading See C
Page: Camel 2.10.4 Release
Camel 2.10.4 release New and Noteworthy Welcome to the 2.10.4 release which is mainly a bug fix release with 107 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgrading See
Page: Camel 2.10.5 Release
Camel 2.10.5 release New and Noteworthy Welcome to the 2.10.5 release which is mainly a bug fix release with 108 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgrading See
Page: Camel 2.10.6 Release
Camel 2.10.6 release New and Noteworthy Welcome to the 2.10.6 release which is mainly a bug fix release to address CVE-2013-2160 and with 8 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to c
Page: Camel 2.10.7 Release
Camel 2.10.7 release New and Noteworthy Welcome to the 2.10.7 release which mainly address CVE-2013-4330 and comes with 63 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.10.0 Release Important changes to consider when upgr
Page: Camel 2.11.0 Release
Camel 2.11.0 release New and Noteworthy Welcome to the 2.11.0 release with approximately 679 issues resolved - including new features, improvements, and bug fixes, such as: Camel RX provides a typesafe and composable API for working with asynchronous even
Page: Camel 2.11.1 Release
Camel 2.11.1 release New and Noteworthy Welcome to the 2.11.1 release which is mainly a bug fix release with 110 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.11.0 Release Important changes to consider when upgrading See
Page: Camel 2.11.2 release
Camel 2.11.2 release New and Noteworthy Welcome to the 2.11.2 release which mainly address CVE-2013-4330 and comes with 120 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.11.0 Release Important changes to consider when upg
Page: Camel 2.11.3 release
Camel 2.11.3 release New and Noteworthy Welcome to the 2.11.3 release which comes with about 116 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.11.0 Release Important changes to consider when upgrading See Camel 2.11.0 Rel
Page: Camel 2.11.4 Release
Camel 2.11.4 release   New and Noteworthy Welcome to the 2.11.4 release which comes with about 26 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.11.0 Release Important changes to consider when upgrading See Camel 2.11.0 Re
Page: Camel 2.12.0 Release
Camel 2.12.0 release New and Noteworthy Welcome to the 2.12.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...) Endpoint Annotations along with automatically created HTML documentation for the endpoint paramete
Page: Camel 2.12.1 Release
Camel 2.12.1 release New and Noteworthy Welcome to the 2.12.1 release which mainly address CVE-2013-4330 and comes with 47 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.12.0 Release Important changes to consider when upgr
Page: Camel 2.12.2 Release
Camel 2.12.2 release New and Noteworthy Welcome to the 2.12.2 release which is mainly a bug fix release with 145 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.12.0 Release Important changes to consider when upgrading See
Page: Camel 2.12.3 Release
Camel 2.12.3 release   New and Noteworthy Welcome to the 2.12.3 release which is mainly a bug fix release with 140 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.12.0 Release Important changes to consider when upgrading S
Page: Camel 2.12.4 Release
Camel 2.12.4 release   New and Noteworthy Welcome to the 2.12.4 release which is mainly a bug fix release with 107 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.12.0 Release Important changes to consider when upgrading S
Page: Camel 2.12.5 Release
Camel 2.12.5 release   New and Noteworthy Welcome to the 2.12.5 release which mainly comes with 75 issues resolved. This is the last planned Camel 2.12.x release. For more details see the JIRA tickets Known Issues See Camel 2.12.0 Release Important change
Page: Camel 2.13.0 Release
Camel 2.13.0 release    New and Noteworthy Welcome to the 2.13.0 release which approx 480 issues resolved (new features, improvements and bug fixes such as...) Using <camelContext> in Spring will now shutdown <camelContext> eager by default. This ensure a
Page: Camel 2.13.1 Release
Camel 2.13.1 release   New and Noteworthy Welcome to the 2.13.1 release which is mainly a bug fix release with 140 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.13.0 Release Important changes to consider when upgrading S
Page: Camel 2.13.2 Release
Camel 2.13.2 release New and Noteworthy Welcome to the 2.13.2 release which is mainly a bug fix release with 41 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.13.0 Release Important changes to consider when upgrading See 
Page: Camel 2.13.3 Release
Camel 2.13.3 release   New and Noteworthy Welcome to the 2.13.3 release which is mainly a bug fix release with 103 issues resolved.. For more details see the JIRA tickets Known Issues See Camel 2.13.0 Release Important changes to consider when upgrading S
Page: Camel 2.14.0 Release
Camel 2.14.0 release   New and Noteworthy Welcome to the 2.14.0 release which approx 399 issues resolved (new features, improvements and bug fixes such as...) Support for running on Java 1.8 JVMs Spring 4.x supported, camel-test-spring module can only wor
Page: Camel 2.15.0 Release
Camel 2.15.0 release (currently in progress)   New and Noteworthy Welcome to the 2.15.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...) Component documentation now included in the built component JARs. And Ja
Page: Camel 2.2.0 Release
Camel 2.2.0 release New and Noteworthy Welcome to the 2.2.0 release which approx 180 issues resolved (new features, improvements and bug fixes such as...) Routing Slip now breaks when an exception occurred MINA now supports easier configuration of multipl
Page: Camel 2.3 - Overhaul of Aggregator EIP
Camel 2.3 - Overhaul of Aggregator EIP The Aggregator EIP needs an overhaul in Camel to remedy a few new features, improvements and fix an issue with using completion predicate and timeout. Current issues Build on top of BatchProcessor which has to comple
Page: Camel 2.3 - ThreadPool Configuration
Design Notes for ThreadPool Configuration CAMEL-1588 is the ticket for a new and improved thread pool configuration for Apache Camel. Its intended for Camel 2.3. Scope Camel uses thread pool in various places such as EIP patterns, Components, Async API an
Page: Camel 2.3.0 Release
Camel 2.3.0 release New and Noteworthy Welcome to the 2.3.0 release which approx 276 issues resolved (new features, improvements and bug fixes such as...) Overhauled threading model and introducing threadPoolProfile to define profiles for thread pools to
Page: Camel 2.4.0 Release
Camel 2.4.0 release New and Noteworthy Welcome to the 2.4.0 release which approx 182 issues resolved (new features, improvements and bug fixes such as...) Spring 3.0.3 is now the default Spring version used by Camel. Fully non blocking Asynchronous Routin
Page: Camel 2.5.0 Release
Camel 2.5.0 release New and Noteworthy Welcome to the 2.5.0 release which approx 300 issues resolved (new features, improvements and bug fixes such as...) Added suspend/resume operations to CamelContext for warm restarts, or as the preferred way to tempor
Page: Camel 2.6.0 Release
Camel 2.6.0 release New and Noteworthy Welcome to the 2.6.0 release which approx 297 issues resolved (new features, improvements and bug fixes such as...) Fixed issue in OSGi with refreshing Camel bundles causing a race condition when discovering type con
Page: Camel 2.7 - Roadmap
Camel 2.7 roadmap This is a roadmap which details the overall and major goals for Camel 2.7. Fell free to discuss this at the Camel Mailing Lists if you have ideas or feedback. The goals on this page was intended to be introduced in Camel 3.0. After discu
Page: Camel 2.7.0 Release
Camel 2.7.0 release New and Noteworthy Welcome to the 2.7.0 release which approx 169 issues resolved (new features, improvements and bug fixes such as...) The Camel 2.7.0 release has a number of major dependency changes: JDK 1.6+ is now required Spring 3.
Page: Camel 2.7.1 Release
Camel 2.7.1 release New and Noteworthy Welcome to the 2.7.1 patch release which approx 12 issues resolved (improvements and bug fixes such as...) upgrade to pax-exam 1.2.4 upgrade to Jackson 1.7.5 upgrade to sl4j 1.6.1 support for cxf-2.4.x fixes and impr
Page: Camel 2.7.2 Release
Camel 2.7.2 release New and Noteworthy Welcome to the 2.7.2 patch release which approx 7 issues resolved (improvements and bug fixes such as...) fixes and improvements related to using Camel in OSGi fixes for the camel-web console, including an XSS vulner
Page: Camel 2.7.3 Release
Camel 2.7.3 release New and Noteworthy Welcome to the 2.7.3 patch release which approx 72 issues resolved. Many issues reported by users and patches supplied have been applied to make 2.7.3 as "stable" and bug free as possible. New Enterprise Integration
Page: Camel 2.7.4 Release
Camel 2.7.4 release New and Noteworthy Welcome to the 2.7.4 patch release which 14 issues resolved. Many issues reported by users and patches supplied have been applied to make 2.7.4 as "stable" and bug free as possible. New Enterprise Integration Pattern
Page: Camel 2.7.5 Release
Camel 2.7.5 release New and Noteworthy Welcome to the 2.7.5 patch release which 44 issues resolved. Many issues reported by users and patches supplied have been applied to make 2.7.5 as "stable" and bug free as possible. New Enterprise Integration Pattern
Page: Camel 2.8.0 Release
Camel 2.8.0 release New and Noteworthy Welcome to the 2.8.0 release which approx 422 issues resolved (new features, improvements and bug fixes such as...) Fixed the OGNL support of Simple language to support dots in key for map access. Improved OGNL suppo
Page: Camel 2.8.1 Release
Camel 2.8.1 release New and Noteworthy Welcome to the 2.8.1 release which is mainly a bug fix release with 45 issues resolved. SOAP now supports multiple parameters. CXF supports better with blueprint. Fixed the bundle issue when you install the camel-cxf
Page: Camel 2.8.2 Release
Camel 2.8.2 release New and Noteworthy Welcome to the 2.8.2 release which is mainly a bug fix release with 105 issues resolved. SOAP now supports multiple parameters. CXF supports better with blueprint. Fixed the bundle issue when you install the camel-cx
Page: Camel 2.8.3 Release
Camel 2.8.3 release New and Noteworthy Welcome to the 2.8.3 release which is mainly a bug fix release with 60+ issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.8.0 Release Important changes to consider when upgrading See Cam
Page: Camel 2.8.4 Release
Camel 2.8.4 release New and Noteworthy Welcome to the 2.8.4 release which is mainly a bug fix release with 89 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.8.0 Release Important changes to consider when upgrading See Came
Page: Camel 2.8.5 Release
Camel 2.8.5 release New and Noteworthy Welcome to the 2.8.5 release which is mainly a bug fix release with 46 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.8.0 Release Important changes to consider when upgrading See Came
Page: Camel 2.8.6 Release
Camel 2.8.6 release New and Noteworthy Welcome to the 2.8.6 release which is mainly a bug fix release with 31 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.8.0 Release Important changes to consider when upgrading See Came
Page: Camel 2.9 - JMX and reducing Spring dependency
Camel 2.9 - JMX and reducing Spring dependency This note covers the goal for Camel 2.9 to reduce Spring dependency in camel-core and other Components where Spring is not really needed. Background In camel-core we support Spring JMX annotations when we enl
Page: Camel 2.9.0 Release
Camel 2.9.0 release New and Noteworthy Welcome to the 2.9.0 release which approx 497 issues resolved (new features, improvements and bug fixes such as...) Introduced ThreadPoolFactory with a simpler API for 3rd party SPI. See Threading Model for more deta
Page: Camel 2.9.1 Release
Camel 2.9.1 release New and Noteworthy Welcome to the 2.9.1 release which is mainly a bug fix release with 109 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.0 Release Important changes to consider when upgrading See Cam
Page: Camel 2.9.2 Release
Camel 2.9.2 release New and Noteworthy Welcome to the 2.9.2 release which is mainly a bug fix release with 58 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.1 Release Important changes to consider when upgrading See Came
Page: Camel 2.9.3 Release
Camel 2.9.3 release New and Noteworthy Welcome to the 2.9.3 release which is mainly a bug fix release with 125 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.2 Release Important changes to consider when upgrading See Cam
Page: Camel 2.9.4 Release
Camel 2.9.4 release New and Noteworthy Welcome to the 2.9.4 release which is mainly a bug fix release with 55 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.3 Release Important changes to consider when upgrading See Came
Page: Camel 2.9.5 Release
Camel 2.9.5 release New and Noteworthy Welcome to the 2.9.5 release which is mainly a bug fix release with 44 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.4 Release Important changes to consider when upgrading See Came
Page: Camel 2.9.6 Release
Camel 2.9.6 release New and Noteworthy Welcome to the 2.9.6 release which is mainly a bug fix release with 63 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.5 Release Important changes to consider when upgrading See Came
Page: Camel 2.9.7 Release
Camel 2.9.7 release New and Noteworthy Welcome to the 2.9.7 release which is mainly a bug fix release with 14 issues resolved. For more details see the JIRA tickets Known Issues See Camel 2.9.6 Release Important changes to consider when upgrading See Came
Page: Camel 2.9.8 Release
Camel 2.9.8 release New and Noteworthy Welcome to the 2.9.8 release which is mainly a bug fix release to address CVE-2013-4330. For more details see the JIRA tickets Known Issues See Camel 2.9.7 Release Important changes to consider when upgrading See Cam
Page: Camel 2.x - Debugger API
Camel 2.x - Debugger API Available as of Camel 2.4 There is a new org.apache.camel.spi.Debugger API which allows 3rd party to attach a debugger tooling to debug Exchanges in Camel routes. There is a default implementation in camel-core as the org.apache.c
Page: Camel 2.x Speed optimizations
Camel 2.x Speed optimizations This design page is about how to optimize and make Camel 2.x more performant. Source code We got an experiment branch at Apache at: https://svn.apache.org/repos/asf/camel/sandbox/tuning-experiment/ You are welcome to checkout
Page: Camel 3.0 - Ideas
Camel 3.0 Ideas Camel is now almost 6 years old and its second revision camel-2.x is more than 4.5 years old already. Camel is extremely mature, used in production by a large number of organizations from small to large and even governments. We feel like w
Page: Camel 3.0 - Introduce an API for components
Currently each component needs to depend on the camel-core. So it sucks in a lot more than it really needs. The idea is to define a minimal API that contains everything a typical component needs. This API should be as independent of the camel implementati
Page: Camel 3.0 - Message Store
The page intends to collect all ideas and proposals around the idea of a Message Store as a architectural concept in Camel. No implementation has started yet. You can participate by sharing your input here or post it to the dev mailing list. For the initi
Page: Camel 3.0 - Roadmap
Camel 3.0 Roadmap This page contains a summary of the ideas planned for the camel-3.0.0 release. Tasks for camel-2.x (prepare) Improve the test api for testing components (jwcarman) See CAMEL-6029. No matter what choices and changes we make in the core, m
Page: Camel @ ApacheCon
Camel @ ApacheCon This page is intended to collect material about Camel and Camelists at ApacheCon.These infos could be used for organizing meetings. ApacheCon EU, 17.11.2014-23.11.2014 Webpage: http://events.linuxfoundation.org/events/apachecon-europePla
Page: Camel Configuration Utilities
JSSE Utility The JSSE Utility, available as of 2.8, allows you to easily configure aspects of the Java Secure Socket Extension (JSSE) API in order to greatly simplify the use of custom transport layer security (TLS) settings on Camel components. Supported
Page: Camel CXF Design
Camel CXF Design Integrating CXF into Camel Camel provides a component API , after defined the endpoint URI format, we just need implement the Camel component API by using CXF as a library to create the client and server for camel-cxf component's consumer
Page: Camel Dot Maven Goal
camel:dot The camel:dot goal of the Camel Maven Plugin is used to generate Visualisation diagrams for your Enterprise Integration Patterns. It works like camel:embedded, it will boot up your Spring configuration but it will only keep up for a few seconds.
Page: Camel DSL
The Camel DSL is a language that allows to configure the behaviour of the Camel Routing Engine. It comes in two main flavours. The Java DSL and the Spring XML Config. Both variants share the same functions though the syntax is somewhat different. Language
Page: Camel Embedded Maven Goal
camel:embedded The camel:embedded goal of the Camel Maven Plugin is used to run your Camel Spring configurations in the same JVM as Maven, so it should startup a bit faster than camel:run. Though sometimes we all get the odd classpath issue; so sometimes
Page: Camel Endpoint Questions
Questions on using the various Camel Components and Endpoint implementations
Page: Camel jar dependencies
Camel jar dependencies Camel core itself is lightweight and can run with a few .jars. camel-core dependencies for Camel 2.0 or lower commons-logging-api.jar - API for commons logging JAXB 2.1.x - XML stuff - Is provided in the JDK core from Java 1.6 onwar
Page: Camel JMX
Camel JMX Apache Camel has extensive support for JMX to allow you to monitor and control the Camel managed objects with a JMX client. Camel also provides a JMX component that allows you to subscribe to MBean notifications. This page is about how to manage
Page: Camel Maven Archetypes
Camel Maven Archetypes Camel is distributed with the following archetypes for Maven end users. Archetype Supported Archetype Description camel-archetype-activemq This archetype is used to create a new Maven project for Camel routes with Apache ActiveMQ em
Page: Camel Maven Plugin
Camel Maven Plugin The Camel Maven Plugin allows you to run your Enterprise Integration Patterns using Spring for Dependency Injection inside Maven along with being able to support Visualisation along with integration of the Visualisation diagrams into th
Page: Camel Run Maven Goal
camel:run The camel:run goal of the Camel Maven Plugin is used to run your Camel Spring configurations in a forked JVM from Maven. A good example application to get you started is the Spring Example. cd examples/camel-example-spring mvn camel:run This mak
Page: Camel Security
Camel Security Camel offers robust & comprehensive security on routes at the Payload Level (XMLSecurity, Crypto) Component Level (Jetty, CXF, Netty, MINA, CometD, JMS) Route Level (Shiro and Spring Security) For more details on the various security option
Page: Camel Test
Camel Test As a simple alternative to using Spring Testing or Guice the camel-test module was introduced so you can perform powerful Testing of your Enterprise Integration Patterns easily. The camel-test JAR is using JUnit. There is an alternative camel-t
Page: Camel Transport for CXF
What's the Camel Transport for CXF In CXF you offer or consume a webservice by defining its address. The first part of the address specifies the protocol to use. For example address="http://localhost:9000" in an endpoint configuration means your service w
Page: Camel x.y.z Release (template)
Camel x.y.z release (currently in progress) New and Noteworthy Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...) highlighted issue fixed highlighted issue fixed New Enterprise Integration P
Page: Camel-Core
This page is work in progress. The layering is probably not yet correct Camel-core is the basic module of apache camel. It contains the public API and the Java DSL and several implementation packages. The most important packages are: Package Name Descript
Page: camel-eclipse
camel-eclipse Available as of Camel 2.3 The camel-eclipse is a component which allows you to run Camel with Eclipse RCP. This component is needed due Eclipse classloading challenges. The component is a specialized Camel Pluggable Class Resolvers to remedy
Page: camel-jboss
camel-jboss Available as of Camel 2.1 The camel-jboss is a component which allows you to run Camel inside JBoss Application Server. This component is needed due JBoss classloading challenges. The component is a specialized Camel Pluggable Class Resolvers
Page: CamelContext
CamelContext The CamelContext represents a single Camel routing rulebase. You use the CamelContext in a similar way to the Spring ApplicationContext. See Lifecycle to understand the overall lifecycle of the CamelContext. See Also RouteBuilder Routes Lifec
Page: Can I get commercial support
Can I get commercial support? Absolutely, see our Support page for more details
Page: Can I use Camel on Java 1.4
Can I use Camel on Java 1.4 Apache Camel was developed to run on Java 1.5 or later to take advantage of the new language features like generics and annotations together with using the Java 5 concurrency code. Starting with version 2.7.0, only Java 1.6 is
Page: Castor
Castor Available as of Camel 2.1 Castor is a Data Format which uses the Castor XML library to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload. As usually you can use either Java DSL or Spring XML to work with Cast
Page: CDI
Camel CDI As of 2.10 we now have support Contexts and Dependency Injection - JSR299 and Dependency Injection for Java - JSR330 as a dependency injection framework. This offers new opportunities to develop and deploy Apache Camel projects in Java EE 6 cont
Page: CEP
Camel CEP Complex Event Processing or Event Stream Processing are approaches of processing streams of events, usually from multiple sources. One approach to CEP with Camel is to use the Esper endpoint then use Esper's SQL-like DSL for working with event s
Page: Claim Check
Claim Check The Claim Check from the EIP patterns allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time. The message content is stored temporarily in a persistent store l
Page: Class
Class Component Available as of Camel 2.4 The class: component binds beans to Camel message exchanges. It works in the same way as the Bean component but instead of looking up beans from a Registry it creates the bean based on the class name. URI format c
Page: Classloader issue of servicemix-camel component
We got some classloader issue about the camel processor which after the JBI endpoint recently, so I add this entry for some explanation about it. Here is a good code example to demo the thread context classloader in different processor after the jbi endpo
Page: Clustering and loadbalancing
Camel proposes different solutions to allow your solution to be scalable, to distribute the load between different instances. The choice will depend on how you will deploy/package Camel (standalone mode, embedded in a J2EE or OSGI server, ...) and how the
Page: CMIS
CMIS Component Available as of Camel 2.11 The cmis component uses the Apache Chemistry client API and allows you to add/read nodes to/from a CMIS compliant content repositories. URI Format cmis://cmisServerUrl[?options] You can append query options to the
Page: Code Walkthrough
Code Walkthrough The main module to get to grips with is the camel-core module which defines the core APIs and the DSL. Often developers pick up libraries by looking at test cases. Probably the best test cases to start with are the processor test cases
Page: Cometd
Cometd Component The cometd: component is a transport for working with the jetty implementation of the cometd/bayeux protocol. Using this component in combination with the dojo toolkit library it's possible to push Camel messages directly into the browser
Page: Commercial Camel Offerings
Commercial Camel Offerings Apache Camel is a widely used project. As such, several companies have built products and services around Camel. This page is dedicated to providing descriptions of those offerings and links to more information. Companies are de
Page: Common Problems
Common Problems that people have when riding the Camel
Page: Community
Page: Competing Consumers
Competing Consumers Camel supports the Competing Consumers from the EIP patterns using a few different components. You can use the following components to implement competing consumers:- Seda for SEDA based concurrent processing using a thread pool JMS fo
Page: Component
Components A Component is essentially a factory of Endpoint instances. You can explicitly configure Component instances and add them to a CamelContext in an IoC container like Spring or Guice, or they can be auto-discovered using URIs.
Page: Component List
Component / ArtifactId / URI Description AHC / camel-ahc ahc:http[s]://hostName[:port][/resourceUri][?options] To call external HTTP services using Async Http Client AHC-WS / camel-ahc-ws ahc-ws[s]://hostName[:port][/resourceUri][?options]  To exchange da
Page: Component List External
Component / ArtifactId / URI License Description ActiveMQ / activemq-camel activemq:[queue|topic:]destinationName Apache For JMS Messaging with Apache ActiveMQ ActiveMQ Broker / activemq-camel broker:[queue|topic:]destinationName Apache For internal messa
Page: Component List Grouped
An informal grouping of Camel components. This list was refined from the main components page in support of establishing information for the following poster: The Apache Camel Components Poster (PDF, PDF w/ crops and bleed, JPG image, Printed) by Gliesian
Page: ComponentConfiguration
ComponentConfiguration API As of Camel 2.12 the new ComponentConfiguration API provides a mechanism for tools (command line, IDE, web based) to introspect the available Camel components and introspect what configuration parameters are available on the com
Page: Components
Components Included Camel includes the following Component implementations via URIs. Make sure to read How do I configure endpoints to learn more about configuring endpoints. For example how to refer to beans in the Registry or how to use raw values for p
Page: Composed Message Processor
Composed Message Processor The Composed Message Processor from the EIP patterns allows you to process a composite message by splitting it up, routing the sub-messages to appropriate destinations and the re-aggregating the responses back into a single mess
Page: Configuring Camel
Page: Configuring route startup ordering and autostartup
Configuring routes startup ordering and autostartup Available as of Camel 2.1 Camel now supports configuring two aspects: auto startup order of starting routes Configuring whether Camel should be auto started or not in XML DSL The old option shouldStartCo
Page: Console Example
Console Example Available as of Camel 2.10 This example is located in the Camel distribution at examples/camel-example-console. This is a beginner's example that demonstrates how to get started with Apache Camel. In this example we integrate with the cons
Page: Constant
Constant Expression Language The Constant Expression Language is really just a way to specify constant strings as a type of expression. Example usage The setHeader element of the Spring DSL can utilize a constant expression like: <route> <from uri="seda:a
Page: Content Based Router
Content Based Router The Content Based Router from the EIP patterns allows you to route messages to the correct destination based on the contents of the message exchanges. The following example shows how to route a request from an input seda:a endpoint to
Page: Content Based Routing on Camel
Content Based Routing on Camel Content based routing (CBR) is considered as a necessary technology for service integration and has been widely used in current enterprise integration software. XML is a intermediary message type which provides the mediation
Page: Content Enricher
Content Enricher Camel supports the Content Enricher from the EIP patterns using a Message Translator, an arbitrary Processor in the routing logic, or using the enrich DSL element to enrich the message. Content enrichment using a Message Translator or a P
Page: Content Filter
Content Filter Camel supports the Content Filter from the EIP patterns using one of the following mechanisms in the routing logic to transform content from the inbound message. Message Translator invoking a Java bean Processor object A common way to filte
Page: Context
Context Component Available as of Camel 2.7 The context component allows you to create new Camel Components from a CamelContext with a number of routes which is then treated as a black box, allowing you to refer to the local endpoints within the component
Page: Continuous integration builds
CI builds using Hudson Continuous integration builds for Apache Camel have been set up at https://hudson.apache.org/hudson. More information about using Hudson at Apache can be found at http://wiki.apache.org/general/Hudson. If you are a Camel PMC member
Page: Contributing
There are many ways you can help make Camel a better piece of software - please dive in and help! Try surf the documentation - if somethings confusing or not clear, let us know. Download the code & try it out and see what you think. Browse the source code
Page: ControlBus
ControlBus The Control Bus from the EIP patterns allows for the integration system to be monitored and managed from within the framework. Use a Control Bus to manage an enterprise integration system. The Control Bus uses the same messaging mechanism used
Page: ControlBus Component
ControlBus Component Available as of Camel 2.11 The controlbus: component provides easy management of Camel applications based on the Control Bus EIP pattern. For example, by sending a message to an Endpoint you can control the lifecycle of routes, or gat
Page: convertBodyTo
Convert the message body to the given class type . To do so camel uses a hierarchy of TypeConverters Syntax Java convertBodyTo(Class type [, String charset]) Spring XML <convertBodyTo type="<String>" [charset="<String>"] > Parameters Parameter Type Descri
Page: Cookbook
This document describes various recipes for working with Camel Bean Integration describes how to work with beans and Camel in a loosely coupled way so that your beans do not have to depend on any Camel APIs Annotation Based Expression Language binds expre
Page: Correlation Identifier
Correlation Identifier Camel supports the Correlation Identifier from the EIP patterns by getting or setting a header on a Message. When working with the ActiveMQ or JMS components the correlation identifier header is called JMSCorrelationID. You can add
Page: Couchbase
Available as of Camel Extra 2.13 The camel-couchbase component supports the interaction to the NoSQL document database Couchbase via the couchbase-client library. Couchbase is an high performance Document Store very easy to scale out, which supports topol
Page: CouchDB
Camel CouchDB component Available as of Camel 2.11 The couchdb: component allows you to treat CouchDB instances as a producer or consumer of messages. Using the lightweight LightCouch API, this camel component has the following features: As a consumer, mo
Page: Creating a new Camel Component
Creating a new Camel Component If you want to create your own version of the Camel Component you can use the Camel Maven Archetypes. mvn archetype:generate \ -DarchetypeGroupId=org.apache.camel.archetypes \ -DarchetypeArtifactId=camel-archetype-component
Page: Creating a new Spring based Camel Route
Creating a new Spring based Camel Route If you want to create your own version of the Spring Example you can use the maven archetype. mvn archetype:generate \ -DarchetypeGroupId=org.apache.camel.archetypes \ -DarchetypeArtifactId=camel-archetype-spring \
Page: CronScheduledRoutePolicy
CronScheduledRoutePolicy Available as of Camel version 2.6 CronScheduledRoutePolicy is a ScheduledRoutePolicy that facilitates route activation, de-activation, suspension and resumption of routes based on a Quartz CronTrigger. Maven users will need to add
Page: Crypto
Crypto Available as of Camel 2.3 PGP Available as of Camel 2.9 The Crypto Data Format integrates the Java Cryptographic Extension into Camel, allowing simple and flexible encryption and decryption of messages using Camel's familiar marshall and unmarshal
Page: Crypto (Digital Signatures)
Crypto component for Digital Signatures Available as of Camel 2.3 With Camel cryptographic endpoints and Java's Cryptographic extension it is easy to create Digital Signatures for Exchanges. Camel provides a pair of flexible endpoints which get used in co
Page: CSV
CSV The CSV Data Format uses Apache Commons CSV to handle CSV payloads (Comma Separated Values) such as those exported/imported by Excel. Options Option Type Description config CSVConfig Can be used to set a custom CSVConfig object. strategy CSVStrategy C
Page: Custom DataFormat
Custom DataFormat You can use your custom Data Format implementation with Camel. All you have to do is to implement the DataFormat interface. For example in the following we will implement a reverse data format as shown below: {snippet:id=e2|title=Custom
Page: Customizing XML
Customizing the XML The Xml Configuration is defined by JAXB POJOs in the org.apache.camel.model.* package and its sub packages. If you are adding a new class you must edit the jaxb.index file to add the class name! (One day we could hopefully have these
Page: CXF
CXF Component When using CXF as a consumer, the CXF Bean Component allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web
Page: CXF Async Example
CXF Async Example This example shows how to use the new feature in Camel 2.1 which is support for non blocking asynchronous producers by ToAsync. Currently camel-jetty implements this to the fullest as its JettyHttpProducer supports non blocking request/r
Page: CXF Bean Component
CXF Bean Component The cxfbean: component allows other Camel endpoints to send exchange and invoke Web service bean objects. Currently, it only supports JAX-RS and JAX-WS (new to Camel 2.1) annotated service beans. CxfBeanEndpoint is a ProcessorEndpoint s
Page: CXF Example
CXF Example CXF example for routing messages with different transports The Camel CXF example is a demo of the camel-cxf component to show how to route messages between CXF endpoints, with one endpoint consuming a SOAP over HTTP request while the other pro
Page: CXF Example OSGi
CXF Example OSGi Available as of Camel 2.8 This example uses Spring DM for OSGi. There is another CXF Example OSGi Blueprint that uses Blueprint. A simple example which receives web service calls (via a CXF consumer, using bean binding) and writes these r
Page: CXF Example OSGi Blueprint
CXF Example OSGi Blueprint Available as of Camel 2.8 This example uses OSGi Blueprint for OSGi. There is another CXF Example OSGi that uses Spring-DM. A simple example which receives web service calls (via a CXF consumer, using bean binding) and writes th
Page: CXF Proxy Example
CXF Proxy Example This example is located in the examples/camel-example-cxf-proxy directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use Maven then you can easily run it from the command line using: mvn
Page: CXF Tomcat Example
CXF Tomcat Example Available as of Camel 2.5 This example is located in the examples/camel-example-cxf-tomcat directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven then you can easily package the
Page: CXFRS
CXFRS Component When using CXF as a consumer, the CXF Bean Component allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume we

D

Page: Data Format
Data Format Camel supports a pluggable DataFormat to allow messages to be marshalled to and from binary or text formats to support a kind of Message Translator. The following data formats are currently supported: And related is the following: DataFormat C
Page: Data Format List
Standard JVM object marshalling Serialization String Object marshalling Avro JSON Protobuf Object/XML marshalling Castor JAXB XmlBeans XStream JiBX Object/XML/Webservice marshalling SOAP Direct JSON / XML marshalling XmlJson Flat data structure marshallin
Page: Database
Database Camel can work with databases in a number of different ways. This document tries to outline the most common approaches. Database endpoints Camel provides a number of different endpoints for working with databases JPA for working with hibernate, o
Page: DataFormat Component
Data Format Component Available as of Camel 2.12 The dataformat: component allows to use Data Format as a Camel Component. URI format dataformat:name:(marshal|unmarshal)[?options] Where name is the name of the Data Format. And then followed by the operati
Page: DataSet
DataSet Component The DataSet component provides a mechanism to easily perform load & soak testing of your system. It works by allowing you to create DataSet instances both as a source of messages and as a way to assert that the data set is received. Came
Page: Db4o
Db4o Component Available as of Camel 2.5 The db4o: component allows you to work with db4o NoSQL database. The camel-db4o library is provided by the Camel Extra project which hosts all *GPL related components for Camel. Sending to the endpoint Sending POJO
Page: Dead Letter Channel
Dead Letter Channel Camel supports the Dead Letter Channel from the EIP patterns using the DeadLetterChannel processor which is an Error Handler. The major difference is that Dead Letter Channel has a dead letter queue that whenever an Exchange could not
Page: Debugger
Debugger Available as of Camel 2.6 Camel Debugger is much related to Tracer, in fact they are sisters. Debugger is a enhanced tracer with a debugger framework so that tooling can be developed to easily monitor Camel routes, trace messages and set breakpoi
Page: DefaultErrorHandler
DefaultErrorHandler This is the new default error handler in Camel 2.0 onwards. It has the same power as the Dead Letter Channel, however it does not support a dead letter queue, which is the only difference between the two of them. The DefaultErrorHandle
Page: Delay Interceptor
Delay Interceptor Available in Camel 1.5 The Delay interceptor is an route interceptor that is used for slowing processing of messages down. This allows you to enable this interceptor and set a fixed amount of delay between each step a message passes in t
Page: Delayer
Delayer The Delayer Pattern allows you to delay the delivery of messages to some destination. The expression is a value in millis to wait from the current time, so the expression should just be 3000. However you can use a long value for a fixed value to i
Page: Dependency Injection
Dependency Injection Dependency Injection or Inversion of Control is a pattern where dependencies of an object are injected into the object without the object being too aware of how the injection is performed. The two most popular Dependency Injection lib
Page: Design Notes
The following section contains design notes of the Apache Camel components
Page: Detour
Detour The Detour from the EIP patterns allows you to send messages through additional steps if a control condition is met. It can be useful for turning on extra validation, testing, debugging code when needed. Example In this example we essentially have
Page: Developers
Developers The following section contains developer related links for Apache Camel
Page: Direct
Direct Component The direct: component provides direct, synchronous invocation of any consumers when a producer sends a message exchange. This endpoint can be used to connect existing routes in the same camel context. The SEDA component provides asynchron
Page: Direct-VM
Direct VM Component Available as of Camel 2.10 The direct-vm: component provides direct, synchronous invocation of any consumers in the JVM when a producer sends a message exchange. This endpoint can be used to connect existing routes in the same camel co
Page: Discussion Forums
Discussion Forums Before posting you might want to read the Tips for getting help. Many users prefer to use online forums rather than joining a mail list which can lead to lots more email traffic so we use the online forums at Nabble forums which also wor
Page: Disruptor
Disruptor Component Available as of Camel 2.12 The disruptor: component provides asynchronous SEDA behavior much as the standard SEDA Component, but utilizes a Disruptor instead of a BlockingQueue utilized by the standard SEDA. Alternatively, a disruptor-
Page: DNS
DNS Available as of Camel 2.7 This is an additional component for Camel to run DNS queries, using DNSJava. The component is a thin layer on top of DNSJava. The component offers the following operations: ip, to resolve a domain by its ip lookup, to lookup
Page: Docker
Camel Docker component Available as of Camel 2.15 Camel component for communicating with Docker. The Docker Camel component leverages the docker-java via the Docker Remote API. Maven users will need to add the following dependency to their pom.xml for thi
Page: Documentation
Documentation Other Sources of Documentation and Information There are several companies that provide extra documentation, examples, tutorials, etc... that users may find useful. See the Commercial Camel Offerings page for more details. Also, many users h
Page: Does Camel work on IBM's JDK?
Does Camel work on IBM's JDK? Yes, we've tested Camel with IBM's JDK on the AIX and Linux platforms. There are a few things to look out for though Exception using camel-http You may get a sun.io.MalformedInputException when using camel-http on IBM's JDK.
Page: Download
Latest Releases Grab these releases while they are hot! The latest release for Camel 2.14.x is Camel 2.14.0 Release. The latest release for Camel 2.13.x is Camel 2.13.3 Release. The latest release for Camel 2.12.x is Camel 2.12.5 Release. (This is last pl
Page: Download Archives
Download archives You can use the Apache Archives to download all the Camel releases. http://archive.apache.org/dist/camel/apache-camel/ - All release since Camel became a top level Apache project http://archive.apache.org/dist/activemq/apache-camel/ - Fo
Page: Dozer Type Conversion
Dozer Type Conversion. Dozer is a fast and flexible framework for mapping back and forth between Java Beans. Coupled with Camel's automatic type conversion, it's a formidable tool for dealing object to object mapping headaches that crop up in enterprise i
Page: Dropbox
Camel Dropbox component Available as of Camel 2.14 The dropbox: component allows you to treat Dropbox remote folders as a producer or consumer of messages. Using the Dropbox Java Core API (reference version for this component is 1.7.x), this camel compone
Page: DSL
DSL Camel uses a Java Domain Specific Language or DSL for creating Enterprise Integration Patterns or Routes in a variety of domain-specific languages (DSL) as listed below. Java DSL - A Java based DSL using the fluent builder style. Spring XML - A XML ba
Page: DSL Function Template
Use this as the basis for a wiki page describing a DSL function <<description>> Syntax Java <<Java Syntax1> Spring XML <<Spring xml Syntax>> Parameters Parameter Type Description       Examples Example1 << example description >> <<spring xml example>> <<i
Page: Durable Subscriber
Durable Subscriber Camel supports the Durable Subscriber from the EIP patterns using the JMS component which supports publish & subscribe using Topics with support for non-durable and durable subscribers. Another alternative is to combine the Message Disp
Page: Dynamic Router
Dynamic Router The Dynamic Router from the EIP patterns allows you to route messages while avoiding the dependency of the router on all possible destinations while maintaining its efficiency. In Camel 2.5 we introduced a dynamicRouter in the DSL which is
Page: DynamicRouter Annotation
@DynamicRouter Annotation As of Camel 2.5.0 we now support the use of @DynamicRouter on a bean method to easily create a Dynamic Router using a Java method. Simple Example using @Consume and @DynamicRouter package com.acme.foo; public class RouterBean { @

E

Page: EDI
EDI DataFormat We encourage end users to look at the Smooks which supports EDI and Camel natively.
Page: EIP
Page: EJB
EJB Component Available as of Camel 2.4 The ejb: component binds EJBs to Camel message exchanges. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel
Page: EL
EL Camel supports the unified JSP and JSF Expression Language via the JUEL to allow an Expression or Predicate to be used in the DSL or Xml Configuration. For example you could use EL inside a Message Filter in XML <route> <from uri="seda:foo"/> <filter>
Page: ElasticSearch
ElasticSearch Component Available as of Camel 2.11 The ElasticSearch component allows you to interface with an ElasticSearch server. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apach
Page: Endpoint
Endpoints Camel supports the Message Endpoint pattern using the Endpoint interface. Endpoints are usually created by a Component and Endpoints are usually referred to in the DSL via their URIs. From an Endpoint you can use the following methods createProd
Page: Endpoint Annotations
Endpoint Annotations As of Camel 2.12 you can annotate Endpoint and Consumer classes so that their configuration documentation can be automatically generated by the camel-package-maven-plugin (rather like maven plugin goals get their parameters documented
Page: Endpoint See Also
See Also Configuring Camel Component Endpoint Getting Started
Page: EndpointCompleter
EndpointCompleter As of Camel 2.12 the EndpointCompleter API is an optional SPI interface for Component implementors. It provides a completion hook; rather like bash tab completion, or the completion in the Karaf shell when typing commands. Nice behaving
Page: Enterprise Integration Patterns
Enterprise Integration Patterns Camel supports most of the Enterprise Integration Patterns from the excellent book by Gregor Hohpe and Bobby Woolf. If you are new to Camel you might want to try the Getting Started in the User Guide before attempting to im
Page: Error Handler
Error Handler Camel supports pluggable ErrorHandler strategies to deal with errors processing an Event Driven Consumer. An alternative is to specify the error handling directly in the DSL using the Exception Clause. For introduction and background materia
Page: Error handling in Camel
Error handling in Camel Error handling in Camel can roughly be separated into two distinct types: non transactional transactional Where non transactional is the most common type that is enabled out-of-the-box and handled by Camel itself. The transaction t
Page: Esper
Esper The Esper component supports the Esper Library for Event Stream Processing. The camel-esper library is provided by the Camel Extra project which hosts all *GPL related components for Camel. URI format esper:name[?options] When consuming from an Espe
Page: ETL
Extract Transform Load (ETL) The ETL (Extract, Transform, Load) is a mechanism for loading data into systems or databases using some kind of Data Format from a variety of sources; often files then using Pipes and Filters, Message Translator and possible o
Page: ETL Example
Extract Transform Load (ETL) Example The ETL (Extract, Transform, Load) example shows how to load data into a database using Camel. In this example we will poll for files, transform them and then store them in the database via the JPA component. Overview
Page: Event Driven Consumer
Event Driven Consumer Camel supports the Event Driven Consumer from the EIP patterns. The default consumer model is event based (i.e. asynchronous) as this means that the Camel container can then manage pooling, threading and concurrency for you in a decl
Page: Event Message
Event Message Camel supports the Event Message from the EIP patterns by supporting the Exchange Pattern on a Message which can be set to InOnly to indicate a oneway event message. Camel Components then implement this pattern using the underlying transport
Page: EventAdmin
EventAdmin component Available in Camel 2.6 The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them. Dependencies Maven users need to add the following dependency to their pom.xml <dependency> <groupI
Page: EventNotifier to log details about all sent Exchanges
EventNotifier to log details about all sent Exchanges If you want to log information all time taken to send and receive replies when sending to external endpoints, then you can leverage the EventNotifier in Camel. It allows you to subscribe to events and
Page: Examples
Examples Once you have read about Getting Started and looked at the Enterprise Integration Patterns, you might want to try out some examples. Before starting to work on example you may want to check the requirements for working with Camel. Then Running Ex
Page: Exception - BeanDefinitionStoreException
BeanDefinitionStoreException If you use ActiveMQ 5.x that ships with Camel 1.x and you upgrade it to use Camel 2.0 you can get an exception while starting. ERROR: java.lang.RuntimeException: Failed to execute start task. Reason: org.springframework.beans.
Page: Exception - javax.naming.NoInitialContextException
Exception: javax.naming.NoInitialContextException If you try to use Camel without Spring using code something like this CamelContext context = new DefaultCamelContext(); context.addRoutes(new MyRouteBuilder()); context.start(); You might get an exception
Page: Exception - org.apache.camel.NoSuchEndpointException
Exception: org.apache.camel.NoSuchEndpointException The usual cause for this Exception is a missing component JAR on the classpath. The exception detail message will tell you what the missing component is. You can solve the issue by adding the required JA
Page: Exception - org.xml.sax.SAXParseException
Exception: org.xml.sax.SAXParseException The reference to entity "..." must end with the ';' delimiter. In the URIs used for specifying Camel endpoints, the & is used to separate the parameters. However, & also is a reserved character in XML. Because of t
Page: Exception Clause
Exception Clause You can use the Exception Clause in the Java DSL to specify the error handling you require on a per exception type basis using the onException() method. To get started we give quick sample before digging into how it works. For example if
Page: Exchange
Message Exchange To support various message exchange patterns like one way Event Message and Request Reply messages Camel uses an Exchange interface which has a pattern property which can be set to InOnly for an Event Message which has a single inbound Me
Page: Exchange Pattern
Exchange Pattern There are many different Message Exchange Patterns you can use in messaging. This concept is also demonstrated in WSDL and JBI's MEPs. From there Enterprise Integration Patterns the common examples are Request Reply Event Message (or one
Page: Exec
Exec component Available in Camel 2.3 The exec component can be used to execute system commands. Dependencies Maven users need to add the following dependency to their pom.xml <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-exec</artifa
Page: Expression
Expressions Expressions and Predicates can then be used to create the various Enterprise Integration Patterns in the DSL or Xml Configuration like the Recipient List. To support dynamic rules Camel supports pluggable Expression strategies using a variety

F

Page: Facebook
Facebook Component Available as of Camel 2.12 The Facebook component provides access to all of the Facebook APIs accessible using Facebook4J. It allows producing messages to retrieve, add, and delete posts, likes, comments, photos, albums, videos, photos,
Page: FAQ
FAQ Here are a list of commonly asked questions and answers. If you have any questions which are not on this list, please talk to us on the Forums. We welcome contributions and this entire website is a wiki that you can edit so please join in and help us
Page: File Language
File Expression Language From Camel 2.2 onwards, the file language is now merged with Simple language which means you can use all the file syntax directly within the simple language. The File Expression Language is an extension to the Simple language, add
Page: File2
File Component The File component provides access to file systems, allowing files to be processed by any other Camel Components or messages from other components to be saved to disk. URI format file:directoryName[?options] or file://directoryName[?options
Page: Fine Grained Control Over a Channel
Introduction When sending an Exchange to an Endpoint you can either use a Route or a ProducerTemplate. This works fine in many scenarios. However you may need to guarantee that an exchange is delivered to the same endpoint that you delivered a previous ex
Page: Flatpack
Flatpack Component The Flatpack component supports fixed width and delimited file parsing via the FlatPack library. Notice: This component only supports consuming from flatpack files to Object model. You can not (yet) write from Object model to flatpack f
Page: Flatpack DataFormat
Flatpack DataFormat The Flatpack component ships with the Flatpack data format that can be used to format between fixed width or delimited text messages to a List of rows as Map. marshal = from List<Map<String, Object>> to OutputStream (can be converted t
Page: Fluent Builders
Fluent Builders Camel provides fluent builders for creating routing and mediation rules using a type-safe IDE friendly way which provides smart completion and is refactoring safe. For more information see Java Domain Specific Language Xml Configuration
Page: FOP
FOP Component Available as of Camel 2.10 The FOP component allows you to render a message into different output formats using Apache FOP. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.
Page: FreeMarker
FreeMarker The freemarker: component allows for processing a message using a FreeMarker template. This can be ideal when using Templating to generate responses for requests. Maven users will need to add the following dependency to their pom.xml for this c
Page: from
Starting point for a Camel Route that starts a route with a given Endpoint . The Endpoint can be from one of the many Camel Components. The component creates Camel Exchanges from their respective Sources and puts them into the route. Syntax Java from(Stri
Page: FTP
Page: FTP Example
FTP Example Available as of Camel 2.11 This example is located in the examples/camel-example-ftp directory of the Camel distribution. There is a README.txt file with instructions how to run it. About This example demonstrates how Camel can upload and down
Page: FTP2
FTP/SFTP/FTPS Component This component provides access to remote file systems over the FTP and SFTP protocols. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <art

G

Page: GAE
Camel Components for Google App Engine A good starting point for using Camel on GAE is the Tutorial for Camel on Google App Engine The OAuth tutorial demonstrates how to implement OAuth in web applications. The Camel components for Google App Engine (GAE)
Page: gauth
gauth Component Available in Camel 2.3 The gauth component is used by web applications to implement a Google-specific OAuth consumer. It will be later extended to support other OAuth providers as well. Although this component belongs to the Camel Componen
Page: General Questions
General questions about Camel
Page: Geocoder
Geocoder Component Available as of Camel 2.12 The geocoder: component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup. The component uses the Java API for Google Geocoder library. Maven users will need to ad
Page: Getting Started
Getting Started First you need to Download the Camel distribution; or you could grab the Source and try Building it yourself. Then come back here and you might want to read the following documentation before continuing: Longer Getting Started Guide Find o
Page: ghttp
ghttp Component Available as of Camel 2.1 The ghttp component contributes to the Camel Components for Google App Engine (GAE). It provides connectivity to the GAE URL fetch service but can also be used to receive messages from servlets (the only way to re
Page: GitHub
GitHub Available as of Camel 2.15 The GitHub component interacts with the GitHub API by encapsulating egit-github. It currently provides polling for new pull requests, pull request comments, tags, and commits.  It is also able to produce comments on pull
Page: glogin
glogin Component Available in Camel 2.3 The glogin component is used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications. It is part of the Camel Components for Google App Engine. Security-enabled GAE applicati
Page: gmail
gmail Component Available as of Camel 2.1 The gmail component contributes to the Camel Components for Google App Engine (GAE). It supports sending of emails via the GAE mail service. Receiving mails is not supported yet but will be added later. Currently,
Page: Google SummerOfCode
Ideas for the Apache Sponsored GSoC2009. 2009 Full support of the Camel DSL in Ruby and Python Camel provides an Enterprise Integration Patterns Domain Specific Language which can be used from many languges such as Java, XML, Groovy, Scala. There is suppo
Page: GoogleDrive
GoogleDrive Component Available as of Camel 2.14 The Google Drive component provides access to the Google Drive file storage service via the Google Drive Web APIs. Google Drive uses the OAuth 2.0 protocol for authenticating a Google account and authorizin
Page: Gora
Camel-Gora is an Apache Camel component that allows you to work with NoSQL databases using the Apache Gora framework. Available as of Camel 2.14 Maven users will need to add the following dependency to their pom.xml for this component: <dependency>  <grou
Page: Graceful Shutdown
Graceful Shutdown Available as of Camel 2.2 Camel now supports a pluggable shutdown strategy using org.apache.camel.spi.ShutdownStrategy. Its responsible for shutting down routes in a graceful manner. The other resources will still be handled by CamelCont
Page: Groovy
Groovy Camel supports Groovy among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a Groovy expression use the following Java code ... groovy("someGroovyExpression") ... For example you coul
Page: Groovy DSL
About the Groovy DSL The Groovy DSL implementation is built on top of the existing Java-based DSL, but it additionally allows to use Groovy language features in your routes, particularly Closures acting as Processor, Expression, Predicate, or Aggregation
Page: Groovy Renderer User Guide
Groovy Renderer User Guide This page presents how to editing the route definition in groovy language through the Web Console and which DSLs have beensupported currently. What is Groovy Renderer Groovy Renderer is a component, which can translate a route i
Page: gsec
Security for Camel GAE Applications Securing GAE applications from unauthorized access is described in the Security and Authentication section of the Google App Engine documentation. Authorization constraints are declared in the web.xml. This applies to C
Page: GSoC 2009
Camel Dynamic Routes Student: Xueqiang Mi <alloyer AT gmail DOT com> Mentor: Jonathan Anstey <janstey AT apache DOT org> Project Description We can already modify XML at runtime; we could do with visualizations using Scala, Ruby, Groovy, Python so that fo
Page: gtask
gtask Component Available as of Camel 2.1 The gtask component contributes to the Camel Components for Google App Engine (GAE). It supports asynchronous message processing on GAE by using the task queueing service as message queue. For adding messages to a
Page: Guaranteed Delivery
Guaranteed Delivery Camel supports the Guaranteed Delivery from the EIP patterns using among others the following components: File for using file systems as a persistent store of messages JMS when using persistent delivery (the default) for working with J
Page: Guava EventBus
Guava EventBus Component The Google Guava EventBus allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). The guava-eventbus: component pr
Page: Guice
Camel Guice We have support for Google Guice as a dependency injection framework. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-guice</artifact
Page: Guice Dot Maven Goal
guice:dot The guice:dot goal of the Guice Maven Plugin is used to generate Visualisation diagrams for your Enterprise Integration Patterns which use Guice for their Dependency Injection framework. It works like guice:embedded, it will boot up your Guice c
Page: Guice Embedded Maven Goal
guice:embedded The guice:embedded goal of the Guice Maven Plugin is used to run your Camel Guice configurations in the same JVM as Maven, so it should startup a bit faster than guice:run. Though sometimes we all get the odd classpath issue; so sometimes f
Page: Guice JMS Example
Guice JMS Example Available as of Camel 1.5 onwards The Guice JMS example is functionally similar to both the first example and the Spring Example but using Guice as the Dependency Injection framework. In this example we just write RouteBuilder implementa
Page: Guice Maven Plugin
Guice Maven Plugin The Guice Maven Plugin allows you to run your Enterprise Integration Patterns using Guice for Dependency Injection inside Maven along with being able to support Visualisation along with integration of the Visualisation diagrams into the
Page: Guice Run Maven Goal
guice:run The guice:run goal of the Guice Maven Plugin is used to run your Camel Guice configurations in a forked JVM from Maven. A good example application to get you started is the Guice JMS Example. cd examples/camel-example-guice-jms mvn guice:run Thi
Page: GZip data format
The GZip Data Format is a message compression and de-compression format. It uses the same deflate algorithm that is used in Zip DataFormat, although some additional headers are provided. This format is produced by popular gzip/gunzip tool. Messages marsha

H

Page: HawtDB
HawtDB Available as of Camel 2.3 HawtDB is a very lightweight and embedable key value database. It allows together with Camel to provide persistent support for various Camel features such as Aggregator. The HawtDB project is being deprecated and replaced
Page: Hazelcast Component
Hazelcast Component Available as of Camel 2.7 The hazelcast: component allows you to work with the Hazelcast distributed data grid / cache. Hazelcast is a in memory data grid, entirely written in Java (single jar). It offers a great palette of different d
Page: Hazelcast Idempotent Repository Tutorial
Hazelcast Idempotent Repository Tutorial Overview Apache Camel enables you to integrate the Idempotent Consumer Pattern in a really simple way. In this tutorial we will setup a cluster consisting of two OSGi containers (Apache Karaf). Inside this both nod
Page: hbase
HBase Component Available as of Camel 2.10 This component provides an idemptotent repository, producers and consumers for Apache HBase. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.ap
Page: HDFS
HDFS Component Available as of Camel 2.8 The hdfs component enables you to read and write messages from/to an HDFS file system. HDFS is the distributed file system at the heart of Hadoop. Maven users will need to add the following dependency to their pom.
Page: HDFS2
HDFS2 Component Available as of Camel 2.13 The hdfs2 component enables you to read and write messages from/to an HDFS file system using Hadoop 2.x. HDFS is the distributed file system at the heart of Hadoop. Maven users will need to add the following depe
Page: Header
Header Expression Language The Header Expression Language allows you to extract values of named headers. Example usage The recipientList element of the Spring DSL can utilize a header expression like: {snippet:id=e1|lang=xml|url=camel/trunk/components/cam
Page: Hibernate
Hibernate Component The hibernate: component allows you to work with databases using Hibernate as the object relational mapping technology to map POJOs to database tables. The camel-hibernate library is provided by the Camel Extra project which hosts all
Page: Hibernate Example
Hibernate Example Available as of Camel 2.11 This example is located in the examples/camel-example-hibernate directory of the Camel Extras project. There is a README.txt file with instructions how to run it. The source code for this example can be viewed
Page: Hiding Middleware
When writing software these days, its important to try and decouple as much middleware code from your business logic as possible. This provides a number of benefits... you can choose the right middleware solution for your deployment and switch at any time
Page: HL7
HL7 Component The hl7 component is used for working with the HL7 MLLP protocol and HL7 v2 messages using the HAPI library. This component supports the following: HL7 MLLP codec for Mina Agnostic data format using either plain String objects or HAPI HL7 mo
Page: HL7 DataFormat
HL7 DataFormat The HL7 component ships with a HL7 data format that can be used to format between String and HL7 model objects. marshal = from Message to byte stream (can be used when returning as response using the HL7 MLLP codec) unmarshal = from byte st
Page: Ho do I specify which method to use when using beans in routes?
Ho do I specify which method to use when using beans in routes? See Bean, Bean Integration and Bean Binding However if you have overloaded methods you need to specify which of those overloaded method you want to use by specifying parameter type qualifiers
Page: How can I create a custom component or endpoint
How can I create a custom component or endpoint? Please read Writing Components for a background in how to implement a new component or endpoint. Its really easy to do! See Also Writing Components How do I add a component How do I configure endpoints
Page: How can I get help
Page: How can I get the remote connection IP address from the camel-cxf consumer ?
How can I get the remote connection IP address from the camel-cxf consumer ? From Camel 2.6.0, you can access the CXF Message by using the key of CamelCxfMessage from message header, and you can get the ServletRequest instance from the CXF message, then y
Page: How can I get the source code
Page: How can I stop a route from a route
How can I stop a route from a route The CamelContext provides API for managing routes at runtime. It has a stopRoute(id) and startRoute(id) methods. Stopping a route during routing an existing message is a bit tricky. The reason for that is Camel will Gra
Page: How can webservice clients see remote faults with stacktraces when using camel-cxf
How can webservice clients see remote faults with stacktraces when using camel-cxf? See Apache CXF documentation about SOAP fault for debugging
Page: How do I add a component
How do I add a component You might first want to read Writing Components for a background in how to implement a new component. Typically it means you write an implementation of the Component interface, usually deriving from DefaultComponent. You can then
Page: How do I become a committer
How can I become a committer First of all you need to get involved and Contribute via the mail list, forums, edit the documentation, work on the issue tracker and submit patches. Once you're contributing and your work is good, one of our Team may invite y
Page: How do I change the logging
How do I change the logging We use commons-logging to log information in the broker client and the broker itself so you can fully configure the logging levels desired, whether to log to files or the console, as well as the underlying logging implementatio
Page: How do I compile the code
How do I compile from the source code? See the Building page
Page: How do I configure endpoints
How do I configure endpoints? There are a few different approaches to configuring components and endpoints. Using Java Code You can explicitly configure a Component using Java code as shown in this example Or you can explicitly get hold of an Endpoint and
Page: How do I configure password options on Camel endpoints without the value being encoded
How do I configure password options on Camel endpoints without the value being encoded? When you configure Camel endpoints using URIs then the parameter values gets url encoded by default. This can be a problem when you want to configure passwords as is.
Page: How do I configure the default maximum cache size for ProducerCache or ProducerTemplate
How do I configure the default maximum cache size for ProducerCache or ProducerTemplate Available as of Camel 2.3 This applies to ConsumerCache and ConsumerTemplate as well. You can configure the default maximum cache size by setting the Exchange.MAXIMUM_
Page: How do I configure the maximum endpoint cache size for CamelContext
How do I configure the maximum endpoint cache size for CamelContext? CamelContext will by default cache the last 1000 used endpoints (based on a LRUCache). Configuring cache size Available as of Camel 2.8 You can configure the default maximum cache size b
Page: How do I debug my route
How do I debug my route? If you've created a route and its not doing what you think it is you could try using one of these features from version 1.4 onwards Tracer to trace in commons-logging / log4j each step that Camel takes Debugger to let you set brea
Page: How do I disable JMX
How do I disable JMX? You can disable JMX instrumentation agent by setting Java VM system property as follow. The property value is treated as boolean. -Dorg.apache.camel.jmx.disabled=true Or, by adding a jmxAgent element inside the camelContext element i
Page: How do I edit the website
How do I edit the website? The website is all contained on a Wiki so that you can contribute providing you are happy to license all your contributions under the Apache Software License version 2.0 You must have signed an ICLA to be able to edit the wiki p
Page: How do I enable debug logging
How do I enable debug logging? Camel uses convention over configuration so sometimes its useful to turn on debug logging to see how Camel is operating and to try and diagnose issues. To enable debug logging we recommend you use log4j for logging then make
Page: How do I enable streams when debug logging messages in Camel
How do I enable streams when debug logging messages in Camel Available as of Camel 2.1 When you run Camel with DEBUG level as logging, it will log the messages and its content from time to time. As some messages can contain streams, which are prone to be
Page: How do I handle failures when consuming for example from a FTP server
How do I handle failures when consuming for example from a FTP server When you do a route such as from("ftp://foo@somesever.com?password=secret").to("bean:logic?method=doSomething"); And there is a failure with connecting to the remote FTP server. The exi
Page: How do I import rests from other XML files
How do I import rests from other XML files Available as of Camel 2.14 When defining rests in Camel using Xml Configuration you may want to define some rests in other XML files. For example you may have many rest services and it may help to maintain the ap
Page: How do I import routes from other XML files
How do I import routes from other XML files Available as of Camel 2.3 When defining routes in Camel using Xml Configuration you may want to define some routes in other XML files. For example you may have many routes and it may help to maintain the applica
Page: How do I invoke Camel routes from JBI
How do I invoke Camel routes from JBI When you use the JBI endpoint as follows from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint") you automatically expose the endpoint to the NMR bus where service qname is {http://foo.bar.org}MyService and endpo
Page: How do I let Jetty match wildcards
How do I let Jetty match wildcards By default Jetty will only match on exact uri's. But you can instruct Jetty to match prefixes. For example from("jetty://0.0.0.0:8123/foo").to("mock:foo"); In the route above Jetty will only match if the uri is an exact
Page: How do I make my JMS endpoint transactional
How do I make my JMS endpoint transactional I have a JMS route such as this... from("activemq:Some.Queue"). bean(MyProcessor.class); how do I make it transactional? Answer There are examples in the Transactional Client and it is described in the Enabling
Page: How do I name my routes?
How do I name my routes? You can assign names to your routes in Java DSL using routeId from("direct:start").routeId("myRoute") .to(mock:bar); And in Spring XML using the id attribute: <route id="myRoute"> <from uri="direct:start"/> <to uri="mock:bar"/> </
Page: How do I restart CamelContext
How do I restart CamelContext A CamelContext provides operations to control its lifecycle, see more at CamelContext. Note: Obviously you can also restart a Camel application if its been deployed in a server. For example a WAR application can be restarted
Page: How do I retrieve the thrown Exception during processing an Exchange
How do I retrieve the thrown Exception during processing an Exchange You have send an Exchange to Camel but it fails during processing caused by a thrown Exception. How do I retrieve this Exception? If you are using CamelTemplate (or CamelProducer), then
Page: How do I retry failed messages forever
How do I retry failed messages forever? If you want to keep the bad message in the original queue, then you are also blocking the messages that has arrived on the queue after the bad message. By default Camel will retry consuming a message up til 6 times
Page: How do I retry processing a message from a certain point back or an entire route
How do I retry processing a message from a certain point back or an entire route By default Apache Camel will perform any redelivery (retry) attempts from the point of failure. So if you want to retry from a point before this, you would need to split up y
Page: How do I reuse the ContextTestSupport class in my unit tests
How do I reuse the ContextTestSupport class in my unit tests You might want to look at the various Testing options, in particular Camel Test and Spring Testing to see if those are better, more powerful options. We see ContextTestSupport as an older, less
Page: How do I run ActiveMQ and Camel in JBoss
How do I run ActiveMQ and Camel in JBoss A user had a problem with running ActiveMQ embedded inside JBoss. He reported his findings on the Camel mailing list which you can read about his solution here. Using Camel in JBoss Available as of Camel 2.1 We hav
Page: How do I run Camel using Java WebStart
How do I run Camel using Java WebStart? Camel 1.5 has support for starting using Java WebStart. However there is a restriction to not use the version attribute for camel jars. What you need to have in mind is that Camel will scan for resources in .jar fil
Page: How do I set the max chars when debug logging messages in Camel
How do I set the max chars when debug logging messages in Camel Available as of Camel 2.0 When you run Camel with logging, it will log the messages and its content from time to time. As some messages can contain very big payloads Camel will by default cli
Page: How do I set the MEP when interacting with JBI?
Problem If you are using the Camel JBI integration to send a MessageExchange to another JBI component from within your Camel route, Camel uses the MEP of the underlying Camel Exchange to determine the MEP of the JBI MessageExchange. An example: from(""tim
Page: How do I specify time period in a human friendly syntax
How do I specify time period in a human friendly syntax Available as of Camel 2.3 Some of the Camel components offers options to specify a time period, which must be entered in milli second as unit. This may be unfriendly to read as a human when the value
Page: How do I use a big (uber) JAR?
How do I use a big (uber) JAR? If you want to repackage all the Camel JARs into a single uber JAR then you can use the Maven shade plugin. But you have to ensure all the service files get appended correctly. If you do this you are taking responsible yours
Page: How do I use Camel inside ServiceMix
How do I use Camel inside ServiceMix? See the Using Camel with ServiceMix tutorial for an indepth walk through of using Camel to route inside the JBI based Normalized Message Bus
Page: How do I use Java 1.4 logging
How do I use Java 1.4 logging? The quick way to enable Java 1.4 logging is to create a commons-logging.properties file on the classpath with this entry... org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger #org.apache.commons.loggi
Page: How do I use log4j
How do I use Log4j? The quick way to enable Log4j is to add log4j to your classpath or maven pom.xml. For example the following in your pom.xml should do the trick <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging<
Page: How do I use Spring Property Placeholder with Camel XML
How do I use Spring Property Placeholder with Camel XML We do NOT yet support the ${something} notation inside arbitrary Camel XML. For example at the time of writing this is NOT supported (due Spring limitations) <beans xmlns="http://www.springframework.
Page: How do I use URIs with parameters in XML
How do I use URIs with parameters in XML? If you try and use one of the Camel URIs in an Xml Configuration using the URI query parameter notation, such as <route> <from uri="direct:start?paramA=1&paramB=2"/> <to uri="mock:result"/> </route> you might get
Page: How do I write a custom Processor which sends multiple messages
How do I write a custom Processor which sends multiple messages? You could use a Splitter or use multiple Message Translator instances in your route. Or you could write a custom processor which is injected with a ProducerTemplate instance that just genera
Page: How do the direct, event, seda and vm endpoints compare
How do the direct, event, seda and vm endpoints compare? VM and SEDA endpoints are basically the same; they both offer asychronous in memory SEDA queues; they differ in visibility endpoints are visible inside the same JVM or within the same CamelContext r
Page: How do the Timer and Quartz endpoints compare
How do the Timer and Quartz endpoints compare? Timer is a simple, non persistence timer using the JDK's in built timer mechanism. Quartz uses the Quartz library which uses a database to store timer events and supports distributed timers and cron notation
Page: How does Camel compare to Mule
How does Camel compare to Mule? This FAQ entry was written when Mule 1.x and 2.x existed. It doesn't cater for how Mule may go in Mule 3.x. I guess from 30,000 feet they're kinda similar beasts; they're both kinds of routing/mediation engines. The main di
Page: How does Camel compare to ServiceMix
How does Camel compare to ServiceMix? Camel is smart routing and mediation engine which implements the Enterprise Integration Patterns and is designed to be used either inside an ESB like ServiceMix, in a Message Broker like ActiveMQ or in a smart endpoin
Page: How does Camel compare to ServiceMix EIP
How does Camel compare to ServiceMix EIP ServiceMix EIP was the ancestor though they both do similar things. The main difference with ServiceMix EIP is its integrated into the existing ServiceMix XBean XML configuration whereas Camel has more Enterprise I
Page: How does Camel compare to Synapse
How does Camel compare to Synapse? We are Camel developers so take what you read here with a pinch of salt. If you want to read a less biased comparison try reading this review which has a slight Synapse bias since the author mostly uses Synapse However w
Page: How does Camel look up beans and endpoints
How does Camel look up beans, components or endpoints? There are many times using Camel that a name is used for a bean such as using the Bean endpoint or using the Bean Language to create a Expression or Predicate or referring to any Component or Endpoint
Page: How does Camel work
How does Camel work? Please see the Architecture for details of how things work.
Page: How does Camel work with ActiveMQ
How does Camel work with ActiveMQ? You can use Camel to do smart routing and implement the Enterprise Integration Patterns inside the ActiveMQ message broker the ActiveMQ JMS client So Camel can route messages to and from Mail, File, FTP, JPA, XMPP other
Page: How does Camel work with ServiceMix
How does Camel work with ServiceMix? You can use Camel to do smart routing and implement the Enterprise Integration Patterns inside of the JBI container, routing between existing JBI components together with communicating with any of the other Camel Compo
Page: How does the Camel API compare to
How does the Camel API compare to from CXF, HTTP, JBI, JMS, JavaMail etc We have tried to make the Camel Exchange and Message map very closely to JBI in particular but also CXF, HTTP, JMS, Mail, XMPP and most other integration abstractions. We want to pre
Page: How does the website work
How does the website work This website is actually rendered from the Wiki contents that you can edit. When viewing a page on the static HTML website you can click on the edit link (bottom of the page) and you can edit the page. For more information see Ho
Page: How should I invoke my POJOs or Spring Services
How should I invoke my POJOs or Spring Services? The various options are described in detail in Bean Integration, in particular the Bean Binding describes how we invoke a bean inside a route See the POJO Consuming for examples using either the @Consume an
Page: How should I package applications using Camel and ActiveMQ
Page: How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform ?
If you are using camel-cxf endpoint in your OSGi bundle and want to get full of control of CXF component loading. (eg. you just want to use the http jetty transport, soap binding and don't want to load jms transport, jaxrs modules). You may need to tell S
Page: How to avoid sending some or all message headers
How to avoid sending some or all message headers? When I send a message to a Camel endpoint such as the Mail component, then the mail include some message headers I do not want. How can I avoid this? Use removeHeaders in the route This is a gotcha more pe
Page: How to define a static camel converter method in Scala
When you use scala object you can define the static method for others to use. Scala will create a Class which implements the singleton pattern for that class object. If the object name is A, you can find the singleton class name with A$. Using javap to re
Page: How to remove the http protocol headers in the camel message?
In camel there are a number of components that use the http protocol headers to do their business. The components include camel-http, camel-jetty, camel-restlet, camel-cxf, etc. If you are using these component, you may pay attention to the Http protocol
Page: How to run Camel in a osgi container
Run Camel With ServiceMix Kernel Apache ServiceMix Kernel is a small OSGi based runtime which provides a lightweight container onto which various bundles can be deployed. Now you can deploy your route rule into it to leverage the power of OSGi. For furthe
Page: How to send the same message to multiple endpoints
How to send the same message to multiple endpoints When you need to send the same message to multiple endpoints then you should use Multicast. In the sample below we consume messages from the activemq queue foo and want to send the same message to both se
Page: How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration
You can find general information how to secure your Camel CXF Consumer with HTTPS here A simple Camel CXF Consumer configuration which use the http:conduit configuration to enable SSL and an external properties file for all environment specific configurat
Page: How to use a dynamic URI in to()
How to use a dynamic URI in to() A dynamic URI is an endpoint URI that varies depending on inflight routing information, such as Exchange properties, message headers, the body, the Camel Context, etc. For example, if you're using a Freemarker producer and
Page: How to use Camel as a HTTP proxy between a client and server
How to use Camel as a HTTP proxy between a client and server You may have an existing HTTP service, which you want to use Camel in between as a proxy, between the client and the server. This can be done using the Jetty component as follows: <route> <from
Page: How to use extra camel componets in servicemix-camel
Since Servicemix3's component has same hierarchies of the class loaders with the J2EE application server, and the components the class loader is separated with the SU's. And Camel has lots of components, we just include the camel-core and camel-spring com
Page: How to validate the camel-1.x context xml from Apache Camel web site?
Since Camel became to be Apache Top Level Project for a while, and all the request to the camel old web site (http://activemq.apache.org/camel/) will be redirect to the new site (http://camel.apache.org). We updated the camel schemas' target namespace to
Page: HTTP
HTTP Component The http: component provides HTTP based endpoints for consuming external HTTP resources (as a client to call external servers using HTTP). Maven users will need to add the following dependency to their pom.xml for this component: <dependenc
Page: HTTP Async Example
HTTP Async Example This example shows how to use the new feature in Camel 2.1 which is support for non blocking asynchronous producers by ToAsync. Currently camel-jetty implements this to the fullest as its JettyHttpProducer supports non blocking request/
Page: HTTP4
HTTP4 Component Available as of Camel 2.3 The http4: component provides HTTP based endpoints for calling external HTTP resources (as a client to call external servers using HTTP). Maven users will need to add the following dependency to their pom.xml for

I

Page: iBATIS
iBATIS The ibatis: component allows you to query, poll, insert, update and delete data in a relational database using Apache iBATIS. The Apache iBatis project is no longer active. The project is moved outside Apache and is now know as the MyBatis project.
Page: ICal
ICal DataFormat Available as of Camel 2.11.1 The ICal dataformat is used for working with iCalendar messages. A typical iCalendar message looks like: BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Events Calendar//iCal4j 1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT DTS
Page: Idempotent Consumer
Idempotent Consumer The Idempotent Consumer from the EIP patterns is used to filter out duplicate messages. This pattern is implemented using the IdempotentConsumer class. This uses an Expression to calculate a unique message ID string for a given message
Page: If I use ServiceMix when should I use Camel
If I use ServiceMix when should I use Camel? Camel is a routing and mediation engine which works great inside JBI. So if you are already using ServiceMix then you can use Camel implement the Enterprise Integration Patterns inside JBI such as Content Based
Page: Implementing Virtual Topics on other JMS providers
Implementing Virtual Topics on other JMS providers ActiveMQ supports Virtual Topics since durable topic subscriptions kinda suck (see this page for more detail) mostly since they don't support Competing Consumers. Most folks want Queue semantics when cons
Page: In Progress
Releases In Progress The following releases are currently in progress
Page: Includes
Includes This contains a number of reusable page fragments which are included in multiple real pages in the documentation.
Home page: Index
Download it Today! News RSS Feed Links Getting Started Architecture User Guide Enterprise Integration Patterns More News
Page: Infinispan
Infinispan Component Available as of Camel 2.13.0 This component allows you to interact with Infinispan distributed data grid / cache. Infinispan is an extremely scalable, highly available key/value data store and data grid platform written in Java. Maven
Page: Injector
Injector The Injector is a pluggable strategy to any IoC container such as Spring or Guice to be able to create and dependency-inject objects of a certain type. For example if you are using the Inversion Of Control With Smart Defaults pattern to minimize
Page: Intercept
Intercept The intercept feature in Camel supports intercepting Exchanges while they are on route. We have overhauled the Intercept in Camel 2.0 so the following information is based on Camel 2.0. Camel supports three kinds of interceptors: intercept that
Page: Inversion Of Control With Smart Defaults
Inversion Of Control With Smart Defaults Inversion of Control is a powerful way of wiring together your beans so that the beans themselves can stay simple & be injected with their dependencies by their IoC container. One of the downsides of wring everythi
Page: IRC
IRC Component The irc component implements an IRC (Internet Relay Chat) transport. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-irc</artifactI
Page: IRC Room
IRC You can hang out on IRC with other Camel developers and users. If you are using Mozilla you can just click on the IRC link or read the log #camel at irc.codehaus.org IRC Log Using an IRC client Here are the connection details. For an IRC client we rec
Page: Is Camel an ESB
Is Camel an ESB? Typically vendors claim practically everything is an ESB these days, so the answer is probably yes However our view is that an ESB is more of a container of integration components, so we view Apache ServiceMix to be a true ESB based aroun
Page: Is Camel IoC friendly
Is Camel IoC friendly? The quick answer is, yes absolutely! . Now for the longer answer... Spring In particular we've gone out of our way to make Camel work great with Spring and to reuse all of Spring 2.x's power. For example the CamelContext, Components
Page: Is there an IDE
Is there an IDE for editing Camel routes? Apache Camel offers no IDE out of the box. You could use your Java IDE for smart completion when creating Java routing rules via the DSL which will give you smart completion in Java code. Or you can use your XML I

J

Page: Jasypt
Jasypt component Available as of Camel 2.5 Jasypt is a simplified encryption library which makes encryption and decryption easy. Camel integrates with Jasypt to allow sensitive information in Properties files to be encrypted. By dropping camel-jasypt on t
Page: Java DSL
Java DSL Apache Camel offers a Java based DSL using the fluent builder style. The Java DSL is available by extending the RouteBuilder class, and implement the configure method. This is best illustrate by an example. In the code below we create a new class
Page: JavaDoc
JavaDoc The core API is defined in the camel-core javadoc. The spring API is defined in the camel-spring javadoc. See Also Architecture Getting Started
Page: JavaScript
JavaScript Camel supports JavaScript/ECMAScript among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a JavaScript expression use the following Java code ... javaScript("someJavaScriptExpres
Page: JavaSpace
JavaSpace Component Available as of Camel 2.1 The javaspace component is a transport for working with any JavaSpace compliant implementation and this component has been tested with both the Blitz implementation and the GigaSpace implementation . This comp
Page: JAXB
JAXB JAXB is a Data Format which uses the JAXB2 XML marshalling standard which is included in Java 6 to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload. Using the Java DSL For example the following uses a named Da
Page: JBI
JBI Component The jbi component is implemented by the ServiceMix Camel module and provides integration with a JBI Normalized Message Router, such as the one provided by Apache ServiceMix. See below for information about how to use StreamSource types from
Page: JBI Service Unit Archetype
JBI Service Unit Archetype If you want to spin up your own project to use Camel to perform some smart routing inside your JBI based ESB you can use the Maven archtetype to get up to speed quickly. Just type the following into a console... mvn archetype:cr
Page: JCIFS
JCIFS Component Available as of Camel 2.11.0 This component provides access to remote file systems over the CIFS/SMB networking protocol. The camel-jcifs library is provided by the Camel Extra project which hosts all *GPL related components for Camel. Mav
Page: jclouds
Jclouds Component Available as of Camel 2.9 This component allows interaction with cloud provider key-value engines (blobstores) and compute services. The component uses jclouds which is a library that provides abstractions for blobstores and compute serv
Page: JCR
JCR Component The jcr component allows you to add/read nodes to/from a JCR compliant content repository (for example, Apache Jackrabbit) with its producer, or register an EventListener with the consumer. Maven users will need to add the following dependen
Page: JDBC
JDBC Component The jdbc component enables you to access databases through JDBC, where SQL queries and operations are sent in the message body. This component uses the standard JDBC API, unlike the SQL Component component, which uses spring-jdbc. Maven use
Page: Jetty
Jetty Component The jetty component provides HTTP-based endpoints for consuming and producing HTTP requests. That is, the Jetty component behaves as a simple Web server. Jetty can also be used as a http client which mean you can also use it with Camel as
Page: JGroups
JGroups Component   JGroups is a toolkit for reliable multicast communication. The jgroups: component provides exchange of messages between Camel infrastructure and JGroups clusters. Maven users will need to add the following dependency to their pom.xml f
Page: JiBX
JiBX Available as of Camel 2.6 JiBX is a Data Format which uses the JiBX library to marshal and unmarshal Java objects to and from XML. // lets turn Object messages into XML then send to MQSeries from("activemq:My.Queue"). marshal().jibx(). to("mqseries:A
Page: Jing
Jing Component The Jing component uses the Jing Library to perform XML validation of the message body using either RelaxNG XML Syntax RelaxNG Compact Syntax Maven users will need to add the following dependency to their pom.xml for this component: <depend
Page: JIRA
JIRA Available as of Camel 2.15 The JIRA component interacts with the JIRA API by encapsulating Atlassian's REST Java Client for JIRA. It currently provides polling for new issues and new comments.  It is also able to create new issues. Rather than webhoo
Page: JMS
JMS Component If you are using Apache ActiveMQ, you should prefer the ActiveMQ component as it has been optimized for ActiveMQ. All of the options and samples on this page are also valid for the ActiveMQ component. See section Transactions and Cache Level
Page: JMS Questions
Questions on using the JMS endpoints in Camel
Page: JMX
JMX Component Available as of Camel 2.6 Standard JMX Consumer Configuration Component allows consumers to subscribe to an mbean's Notifications. The component supports passing the Notification object directly through the Exchange or serializing it to XML
Page: JMX Component Example
JMX Component Example Available as of Camel 2.6 The example is included in the distribution at examples/camel-example-jmx. It contains a README.txt file with details how to use and run it. The routes This example has 2 routes: 1. A route that calls a upda
Page: JNDI
JNDI Camel will use JNDI as the default Registry implementation if you do not use Spring. This means that using a DefaultCamelContext will try and create a JndiRegistry which uses the JNDI InitialContext as the registry. This means you need to configure s
Page: JPA
JPA Component The jpa component enables you to store and retrieve Java objects from persistent storage using EJB 3's Java Persistence Architecture (JPA), which is a standard interface layer that wraps Object/Relational Mapping (ORM) products such as OpenJ
Page: Jsch
Jsch The camel-jsch component supports the SCP protocol using the Client API of the Jsch project. Jsch is already used in camel by the FTP component for the sftp: protocol. Maven users will need to add the following dependency to their pom.xml for this co
Page: JSON
JSON JSON is a Data Format to marshal and unmarshal Java objects to and from JSON. For JSON to object marshalling, Camel provides integration with three popular JSON libraries: The XStream library and Jettsion The Jackson library Camel 2.10: The GSon libr
Page: JSonPath
JSonPath Available as of Camel 2.13 Camel supports JSonPath to allow using Expression or Predicate on json messages. from("queue:books.new") .choice() .when().jsonpath("$.store.book[?(@.price < 10)]") .to("jms:queue:book.cheap") .when().jsonpath("$.store.
Page: JT400
JT/400 Component The jt400 component allows you to exchanges messages with an AS/400 system using data queues. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <art
Page: JXPath
JXPath Camel supports JXPath to allow XPath expressions to be used on beans in an Expression or Predicate to be used in the DSL or Xml Configuration. For example you could use JXPath to create an Predicate in a Message Filter or as an Expression for a Rec

K

Page: Kafka
Kafka Component Available as of Camel 2.13 The kafka: component is used for communicating with Apache Kafka message broker. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</
Page: Karaf
Karaf Support Apache Camel is designed to work nicely into Apache Karaf OSGi container. It includes: Camel features descriptor allowing to easily and quickly install Camel in Karaf. Karaf commands allowing you to view, start, stop, get info, about the Cam
Page: Kestrel
Kestrel Component The Kestrel component allows messages to be sent to a Kestrel queue, or messages to be consumed from a Kestrel queue. This component uses the spymemcached client for memcached protocol communication with Kestrel servers. URI format kestr
Page: Krati
Krati Component Available as of Camel 2.9 This component allows the use krati datastores and datasets inside Camel. Krati is a simple persistent data store with very low latency and high throughput. It is designed for easy integration with read-write-inte

L

Page: Language
Language Available as of Camel 2.5 The language component allows you to send Exchange to an endpoint which executes a script by any of the supported Languages in Camel. By having a component to execute language scripts, it allows more dynamic routing capa
Page: Languages
Languages To support flexible and powerful Enterprise Integration Patterns Camel supports various Languages to create an Expression or Predicate within either the Routing Domain Specific Language or the Xml Configuration. When creating predicates (express
Page: Languages Supported
Bean Language for using Java for expressions Constant the unified EL from JSP and JSF Header JSonPath JXPath Mvel OGNL Ref Language Property Scripting Languages such as BeanShell JavaScript Groovy Python PHP Ruby Simple File Language Spring Expression Lan
Page: LDAP
LDAP Component The ldap component allows you to perform searches in LDAP servers using filters as the message payload. This component uses standard JNDI (javax.naming package) to access the server. Maven users will need to add the following dependency to
Page: LevelDB
LevelDB Available as of Camel 2.10 Leveldb is a very lightweight and embedable key value database. It allows together with Camel to provide persistent support for various Camel features such as Aggregator. Current features it provides: LevelDBAggregationR
Page: Lifecycle
Camel Lifecycle Camel uses a simple lifecycle interface called Service which has a single start() and stop() method. Various classes implement Service such as CamelContext along with a number of Component and Endpoint classes. When you use Camel you typic
Page: LinkedIn
LinkedIn Component Available as of Camel 2.14 The LinkedIn component provides access to all of LinkedIn REST APIs documented at https://developer.linkedin.com/rest.  LinkedIn uses OAuth2.0 for all client application authentication. In order to use camel-l
Page: List
List Component deprecated: is renamed to the Browse component in Camel 2.0 The List component provides a simple BrowsableEndpoint which can be useful for testing, visualisation tools or debugging. The exchanges sent to the endpoint are all available to be
Page: Load Balance for existing Messaging Service
Load Balance for Existing Messaging Service This is a sample to show how we can change our existing messaging service for requirement or improvement. Here we use a load balance support as example. Build the sample Imagine that we have a message handling s
Page: Load Balancer
Load Balancer The Load Balancer Pattern allows you to delegate to one of a number of endpoints using a variety of different load balancing policies. Built-in load balancing policies Camel provides the following policies out-of-the-box: Policy Description
Page: LoadBalancing Mina Example
Load balancing using Mina example This example shows how you can easily use the Camel-MINA component to design a solution allowing for distributing message workload onto several servers. These servers are simple TCP/IP servers created by the Apache MINA f
Page: Loading routes from XML files
Loading routes from XML files Available as of Camel 2.6 This cookbook shows how to load and add routes from XML files into an existing CamelContext. When adding routes as shown on this page, the routes is isolated and cannot re-use any existing onExceptio
Page: Loan Broker Example
Loan Broker Example This example shows how to use Camel to implement the EIP's loan broker example. The example has two versions,one for JMS, one for webservice one. The JMS version which leverages the message queue to connect the credit agency and bank l
Page: Log
Log Component The log: component logs message exchanges to the underlying logging mechanism. URI format log:loggingCategory[?options] Where loggingCategory is the name of the logging category to use. You can append query options to the URI in the followin
Page: LogEIP
Log How can I log processing a Message? Camel provides many ways to log processing a message. Here is just some examples: You can use the Log component which logs the Message content. You can use the Tracer which trace logs message flow. You can also use
Page: Logging Questions
Questions on logging output from Camel to a console, using the Log endpoint or JDK 1.4 logging or Log4j etc
Page: Loop
Loop The Loop allows for processing a message a number of times, possibly in a different way for each iteration. Useful mostly during testing. Notice by default the loop uses the same exchange throughout the looping. So the result from the previous iterat
Page: Lucene
Lucene (Indexer and Search) Component Available as of Camel 2.2 The lucene component is based on the Apache Lucene project. Apache Lucene is a powerful high-performance, full-featured text search engine library written entirely in Java. For more details a

M

Page: Mail
Mail Component The mail component provides access to Email via Spring's Mail support and the underlying JavaMail system. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</gro
Page: Mailing Lists
The following mailing lists are available. Before posting you might want to read the Support page before posting to the mailing list. Mailing Lists You should post and subscriber to the Camel User List for all your questions on using Camel, or how to do X
Page: Management Example
Management Example Available as of Camel 2.1 This is a new example we added in Camel 2.1 as a little example of the new and overhauled JMX Management we did. The example is included in the distribution at examples/camel-example-management. It contains a R
Page: Manual
Camel Manual There are a number of PDFs of the Camel Manual which is made up of lots of the Documentation available here http://camel.apache.org/manual You can download a specific version here Manual Versions Camel Manual 2.13.x (html) Camel Manual 2.12.x
Page: Manual Downloads
Page: Maven 2 snapshot repository in pom
Camel In your pom.xml file you can add the Maven 2 snapshot repository if you want to try out the xxx-SNAPSHOT versions: <repository> <id>apache.snapshots</id> <name>Apache Development Snapshot Repository</name> <url>https://repository.apache.org/content/
Page: MDC logging
MDC logging Available as of Camel 2.7 In Camel 2.7 we migrated to use slf4j as the logging framework in Camel. This allows us to support MDC logging. See more details about MDC logging in the logback manual. The log kit in use must support MDC, such as: l
Page: Memory leak when adding and removing routes at runtime
Memory leak when adding and removing routes at runtime If you add and remove many routes at runtime, then take notice that JMX may take up memory when routes is added. As Camel cannot 100% reclaim all mbeans when removing a route (some resources may be sh
Page: Merging commits from trunk to fixes branch
The Camel 2.x branches are here: https://svn.apache.org/repos/asf/camel/branches/ What should be merged The idea is to be able to apply bug fixes and backwards compatible improvements and new features to our Camel maintenance branches (for example 2.10.x
Page: Message
Message Camel supports the Message from the EIP patterns using the Message interface. To support various message exchange patterns like one way Event Message and Request Reply messages Camel uses an Exchange interface which has a pattern property which ca
Page: Message Bus
Message Bus Camel supports the Message Bus from the EIP patterns. You could view Camel as a Message Bus itself as it allows producers and consumers to be decoupled. Folks often assume that a Message Bus is a JMS though so you may wish to refer to the JMS
Page: Message Channel
Message Channel Camel supports the Message Channel from the EIP patterns. The Message Channel is an internal implementation detail of the Endpoint interface and all interactions with the Message Channel are via the Endpoint interfaces. Example In JMS, Mes
Page: Message Dispatcher
Message Dispatcher Camel supports the Message Dispatcher from the EIP patterns using various approaches. You can use a component like JMS with selectors to implement a Selective Consumer as the Message Dispatcher implementation. Or you can use an Endpoint
Page: Message Endpoint
Message Endpoint Camel supports the Message Endpoint from the EIP patterns using the Endpoint interface. When using the DSL to create Routes you typically refer to Message Endpoints by their URIs rather than directly using the Endpoint interface. Its then
Page: Message Filter
Message Filter The Message Filter from the EIP patterns allows you to filter messages The following example shows how to create a Message Filter route consuming messages from an endpoint called queue:a, which if the Predicate is true will be dispatched to
Page: Message History
Message History The Message History from the EIP patterns allows for analyzing and debugging the flow of messages in a loosely coupled system. Attaching a Message History to the message will provide a list of all applications that the message passed throu
Page: Message Router
Message Router The Message Router from the EIP patterns allows you to consume from an input destination, evaluate some predicate then choose the right output destination. The following example shows how to route a request from an input queue:a endpoint to
Page: Message Translator
Message Translator Camel supports the Message Translator from the EIP patterns by using an arbitrary Processor in the routing logic, by using a bean to perform the transformation, or by using transform() in the DSL. You can also use a Data Format to marsh
Page: Messaging Gateway
Messaging Gateway Camel has several endpoint components that support the Messaging Gateway from the EIP patterns. Components like Bean and CXF provide a a way to bind a Java interface to the message exchange. However you may want to read the Using CamelPr
Page: Messaging Mapper
Messaging Mapper Camel supports the Messaging Mapper from the EIP patterns by using either Message Translator pattern or the Type Converter module. Example The following example demonstrates the use of a Bean component to map between two messaging system
Page: Metrics Component
Metrics Component Available as of Camel 2.14 The metrics: component allows to collect various metrics directly from Camel routes. Supported metric types are Metrics Component, Metrics Component, Metrics Component and Metrics Component. Metrics provides si
Page: MINA
MINA Component Deprecated This component is deprecated as the Apache Mina 1.x project is EOL. Instead use Mina2 or Netty instead. The mina: component is a transport for working with Apache MINA Maven users will need to add the following dependency to thei
Page: MINA2
MINA 2 Component Available as of Camel 2.10 The mina2: component is a transport for working with Apache MINA 2.x Favor using Netty as Netty is a much more active maintained and popular project than Apache Mina currently is Be careful with sync=false on co
Page: Mock
Mock Component The Mock component provides a powerful declarative testing mechanism, which is similar to jMock in that it allows declarative expectations to be created on any Mock endpoint before a test begins. Then the test is run, which typically fires
Page: MongoDB
Camel MongoDB component Available as of Camel 2.10 According to Wikipedia: "NoSQL is a movement promoting a loosely defined class of non-relational data stores that break with a long history of relational databases and ACID guarantees." NoSQL solutions ha
Page: MQTT
MQTT Component Available as of Camel 2.10 The mqtt: component is used for communicating with MQTT compliant message brokers, like Apache ActiveMQ or Mosquitto Camel will poll the feed every 60 seconds by default. Note: The component currently only support
Page: MSV
MSV Component The MSV component performs XML validation of the message body using the MSV Library and any of the supported XML schema languages, such as XML Schema or RelaxNG XML Syntax. Maven users will need to add the following dependency to their pom.x
Page: Multicast
Multicast The Multicast allows to route the same message to a number of endpoints and process them in a different way. The main difference between the Multicast and Splitter is that Splitter will split the message into several pieces but the Multicast wil
Page: Mustache
Mustache Available as of Camel 2.12 The mustache: component allows for processing a message using a Mustache template. This can be ideal when using Templating to generate responses for requests. Maven users will need to add the following dependency to the
Page: Mvel
Mvel Camel allows Mvel to be used as an Expression or Predicate the DSL or Xml Configuration. You could use Mvel to create an Predicate in a Message Filter or as an Expression for a Recipient List You can use Mvel dot notation to invoke operations. If you
Page: MVEL Component
MVEL Component Available as of Camel 2.12 The mvel: component allows you to process a message using an MVEL template. This can be ideal when using Templating to generate responses for requests. Maven users will need to add the following dependency to thei
Page: MyBatis
MyBatis Available as of Camel 2.7 The mybatis: component allows you to query, poll, insert, update and delete data in a relational database using MyBatis. Maven users will need to add the following dependency to their pom.xml for this component: <dependen
Page: MyBatis Example
MyBatis Example Available as of Camel 2.12 This example is located in the examples/camel-example-mybatis directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven then you can easily install the exam

N

Page: Nagios
Nagios Available as of Camel 2.3 The Nagios component allows you to send passive checks to Nagios. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>came
Page: Navigation
Overview Home Download Getting Started FAQ Documentation User Guide Manual Books Tutorials Examples Cookbook Architecture Enterprise Integration Patterns DSL Components Data Format Languages Security Security Advisories Search <form action="http://www.goo
Page: Netty
Netty Component Available as of Camel 2.3 The netty component in Camel is a socket communication component, based on the Netty project. Netty is a NIO client server framework which enables quick and easy development of network applications such as protoco
Page: Netty HTTP
Netty HTTP Component Available as of Camel 2.12 The netty-http component is an extension to Netty component to facilitiate HTTP transport with Netty. This camel component supports both producer and consumer endpoints. This component is intended to be upgr
Page: Netty HTTP Server Example
Netty HTTP Server Example Available as of Camel 2.12 This example is located in the examples/camel-example-netty-http directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven then you can easily pac
Page: Netty4
Netty Component Available as of Camel 2.14 The netty4 component in Camel is a socket communication component, based on the Netty project version 4. Netty is a NIO client server framework which enables quick and easy development of netwServerInitializerFac
Page: Netty4 HTTP
Netty4 HTTP Component Available as of Camel 2.14 The netty4-http component is an extension to Netty4 component to facilitiate HTTP transport with Netty4. This camel component supports both producer and consumer endpoints. Netty is stream based, which mean
Page: News
News
Page: NMR
NMR Component The nmr component is an adapter to the Normalized Message Router (NMR) in ServiceMix, which is intended for use by Camel applications deployed directly into the OSGi container. You can exchange objects with NMR and not only XML like this is
Page: Normalizer
Normalizer Camel supports the Normalizer from the EIP patterns by using a Message Router in front of a number of Message Translator instances. Example This example shows a Message Normalizer that converts two types of XML messages into a common format. Me
Page: NotifyBuilder
NotifyBuilder Available as of Camel 2.2 The NotifyBuilder is a builder from the org.apache.camel.builder package which allows you to build expressions and then test or wait for that condition to occur. The expressions is based around notifications about E

O

Page: OGNL
OGNL Camel allows OGNL to be used as an Expression or Predicate the DSL or Xml Configuration. You could use OGNL to create an Predicate in a Message Filter or as an Expression for a Recipient List You can use OGNL dot notation to invoke operations. If you
Page: OldLinks
Page: Olingo2
Olingo2 Component Available as of Camel 2.14 The Olingo2 component utilizes Apache Olingo version 2.0 APIs to interact with OData 2.0 and 3.0 compliant services. A number of popular commercial and enterprise vendors and products support the OData protocol
Page: OnCompletion
OnCompletion Camel has this concept of a Unit of Work that encompass the Exchange. The unit of work among others supports synchronization callbacks that are invoked when the Exchange is complete. The callback API is defined in org.apache.camel.spi.Synchro
Page: Openshift
Openshift Component Available as of Camel 2.14 The openshift component is a component for managing your OpenShift applications.  Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.ca
Page: OptaPlanner
OptaPlanner Available as of Camel 2.13 The optaplanner: component solves the planning problem contained in a message with OptaPlanner. For example: feed it an unsolved Vehicle Routing problem and it solves it. Maven users will need to add the following de
Page: Overview

P

Page: Parallel Processing and Ordering
Parallel Processing and Ordering It is a common requirement to want to use parallel processing of messages for throughput and load balancing, while at the same time process certain kinds of messages in order. How to achieve parallel processing You can sen
Page: Parameter Binding Annotations
Parameter Binding Annotations The annotations below are all part of camel-core and thus does not require camel-spring or Spring. These annotations can be used with the Bean component or when invoking beans in the DSL Annotations can be used to define an E
Page: Pax-Logging
PaxLogging component Available in Camel 2.6 The paxlogging component can be used in an OSGi environment to receive PaxLogging events and process them. Dependencies Maven users need to add the following dependency to their pom.xml <dependency> <groupId>org
Page: PDF Documentation Guide
Table of Contents <ul class="toc"> <li class="frontmatter"><a href="#toc">Table of Contents</a></li> <li class="frontmatter"><a href="#preface">Preface</a></li> <li class="chapter"><a href="#chapter-tables-and-figures">Captioned Tables and Figures</a> <ul
Page: PHP
PHP Camel supports PHP among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a PHP expression use the following Java code ... php("somePHPExpression") ... For example you could use the php f
Page: Pipes and Filters
Pipes and Filters Camel supports the Pipes and Filters from the EIP patterns in various ways. With Camel you can split your processing across multiple independent Endpoint instances which can then be chained together. Using Routing Logic You can create pi
Page: Pluggable Class Resolvers
Pluggable Class Resolvers Available since Camel 2.0 Camel provides pluggable class resolvers allowing third party platforms and contains to provide their own resolvers in case the default ones does not work on their platform. For example we provide a WebS
Page: Point to Point Channel
Point to Point Channel Camel supports the Point to Point Channel from the EIP patterns using the following components SEDA for in-VM seda based messaging JMS for working with JMS Queues for high performance, clustering and load balancing JPA for using a d
Page: Pojo
Pojo Component The pojo: component is now just an alias for the Bean component. Has been removed in Camel 2.0.
Page: POJO Consuming
@Consume To consume a message you use the @Consume annotation to mark a particular method of a bean as being a consumer method. The uri of the annotation defines the Camel Endpoint to consume from. e.g. lets invoke the onCheese() method with the String bo
Page: POJO Messaging Example
POJO Messaging Example Introduction This example shows that you don't need to learn Camel's super cool DSLs if you don't want to. Camel has a set of annotations that allow you to produce, consume or route messages to endpoints. Requirements The example is
Page: POJO Producing
There are two different ways to send messages to any Camel Endpoint from a POJO @EndpointInject To allow sending of messages from POJOs you can use the @EndpointInject annotation. This will inject a ProducerTemplate so that the bean can participate in mes
Page: Polling Consumer
Polling Consumer Camel supports implementing the Polling Consumer from the EIP patterns using the PollingConsumer interface which can be created via the Endpoint.createPollingConsumer() method. So in your Java code you can do Endpoint endpoint = context.g
Page: Predicate
Predicates Camel supports a pluggable interface called Predicate which can be used to integrate a dynamic predicate into Enterprise Integration Patterns such as when using the Message Filter or Content Based Router. A Predicate is being evaluated to a boo
Page: Printer
Printer Component Available as of Camel 2.1 The printer component provides a way to direct payloads on a route to a printer. Obviously the payload has to be a formatted piece of payload in order for the component to appropriately print it. The objective i
Page: Privacy Policy
Information about your use of this website is collected using server access logs and a tracking cookie. The collected information consists of the following: The IP address from which you access the website; The type of browser and operating system you use
Page: Processor
Processor The Processor interface is used to implement consumers of message exchanges or to implement a Message Translator Using a processor in a route Once you have written a class which implements processor like this... public class MyProcessor implemen
Page: ProcessorFactory
ProcessorFactory Available as of Camel 2.4 There is a org.apache.camel.spi.ProcessorFactory which allows you to use a custom factory for creating Processor based on the Camel routes. The factory can also be used for manipulating the definitions before the
Page: ProducerTemplate
ProducerTemplate The ProducerTemplate interface allows you to send message exchanges to endpoints in a variety of different ways to make it easy to work with Camel Endpoint instances from Java code. It can be configured with a default endpoint if you just
Page: Properties
Properties Component Available as of Camel 2.3 URI format properties:key[?options] Where key is the key for the property to lookup Options Name Type Default Description cache boolean true Whether or not to cache loaded properties. locations String null A
Page: Property
Property Expression Language The Property Expression Language allows you to extract values of named exchange properties. Example usage The recipientList element of the Spring DSL can utilize a property expression like: {snippet:id=e1|lang=xml|url=camel/tr
Page: Protobuf
Protobuf - Protocol Buffers "Protocol Buffers - Google's data interchange format" Available from Camel 2.2 Camel provides a Data Format to serialse between Java and the Protocol Buffer protocol. The project's site details why you may wish to choose this f
Page: Publish Subscribe Channel
Publish Subscribe Channel Camel supports the Publish Subscribe Channel from the EIP patterns using for example the following components: JMS for working with JMS Topics for high performance, clustering and load balancing XMPP when using rooms for group co
Page: Python
Python Camel supports Python among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a Python expression use the following Java code ... python("somePythonExpression") ... For example you coul

Q

Page: Quartz
Quartz Component The quartz: component provides a scheduled delivery of messages using the Quartz Scheduler 1.x . Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail). If you are using Quartz 2.x then from Camel 2.12 onwar
Page: Quartz2
Quartz2 Component Available as of Camel 2.12.0 The quartz2: component provides a scheduled delivery of messages using the Quartz Scheduler 2.x . Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail). Maven users will need t
Page: Queue
Queue Component To avoid confusion with JMS queues, this component is now deprecated in 1.1 onwards. Please use the SEDA component instead The queue: component provides asynchronous SEDA behaviour so that messages are exchanged on a BlockingQueue and cons
Page: Quickfix
QuickFIX/J Component The quickfix component adapts the QuickFIX/J FIX engine for using in Camel . This component uses the standard Financial Interchange (FIX) protocol for message transport. The quickfix component was rewritten for Camel 2.5. For informat
Page: QuickLinks
Download | JavaDoc | Source | Forums | Support

R

Page: RabbitMQ
RabbitMQ Component Available as of Camel 2.12 The rabbitmq: component allows you produce and consume messages from RabbitMQ instances. Using the RabbitMQ AMQP client, this component offers a pure RabbitMQ approach over the generic AMQP component. Maven us
Page: RCode
RCode Available as of Camel Extra 2.11 The rcode component supports the integration of the statistics environment R via Rserve Dependency <dependency> <groupId>org.apache-extras.camel-extra</groupId> <artifactId>camel-rcode</artifactId> <version>2.12.0</v
Page: Recipient List
Recipient List The Recipient List from the EIP patterns allows you to route messages to a number of dynamically specified recipients. The recipients will receive a copy of the same Exchange, and Camel will execute them sequentially. Options Name Default V
Page: RecipientList Annotation
@RecipientList Annotation We support the use of @RecipientList on a bean method to easily create a dynamic Recipient List using a Java method. Simple Example using @Consume and @RecipientList package com.acme.foo; public class RouterBean { @Consume(uri =
Page: RedeliveryPolicy
RedeliveryPolicy A redelivery policy defines rules when Camel Error Handler perform redelivery attempts. For example you can setup rules that state how many times to try redelivery, and the delay in between attempts, and so forth. You can use redelivery p
Page: Ref
Ref Component The ref: component is used for lookup of existing endpoints bound in the Registry. URI format ref:someName[?options] Where someName is the name of an endpoint in the Registry (usually, but not always, the Spring registry). If you are using t
Page: Ref Language
Ref Expression Language Available as of Camel 2.8 The Ref Expression Language is really just a way to lookup a custom Expression from the Registry. This is particular useable in XML DSLs. Example usage The Splitter in XML DSL can utilize a custom expressi
Page: Registry
Registry Camel supports a pluggable Registry plugin strategy. This allows Camel to easily work with some kind of registry like SimpleRegistry which is a simple java.util.Map based registry. JndiRegistry which uses the JNDI InitialContext as the registry A
Page: Release Guide
How to create and announce a Camel release. This release guide is based on the General guide for releasing Maven-based projects at Apache, so be sure to check it out before continuing and meet all prerequisites. Prerequisites To prepare or perform a relea
Page: Reports
Reports submitted to the Apache Board.
Page: Request Reply
Request Reply Camel supports the Request Reply from the EIP patterns by supporting the Exchange Pattern on a Message which can be set to InOut to indicate a request/reply. Camel Components then implement this pattern using the underlying transport or prot
Page: Resequencer
Resequencer The Resequencer from the EIP patterns allows you to reorganise messages based on some comparator. By default in Camel we use an Expression to create the comparator; so that you can compare by a message header or the body or a piece of a messag
Page: Rest
Rest Component Available as of Camel 2.14 The rest component allows to define REST endpoints using the Rest DSL and plugin to other Camel components as the REST transport.   URI format rest://method:path[:uriTemplate]?[options] URI Options Name Default Va
Page: Rest DSL
Rest DSL Available as of Camel 2.14 Apache Camel offers a REST styled DSL which can be used with Java or XML. The intention is to allow end users to define REST services using a REST style with verbs such as get, post, delete etc. How it works The Rest DS
Page: Restlet
Restlet Component The Restlet component provides Restlet based endpoints for consuming and producing RESTful resources. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</grou
Page: Return Address
Return Address Camel supports the Return Address from the EIP patterns by using the JMSReplyTo header. For example when using JMS with InOut the component will by default return to the address given in JMSReplyTo. Requestor Code getMockEndpoint("mock:bar"
Page: RMI
RMI Component The rmi: component binds Exchanges to the RMI protocol (JRMP). Since this binding is just using RMI, normal RMI rules still apply regarding what methods can be invoked. This component supports only Exchanges that carry a method invocation fr
Page: Route Throttling Example
Route Throttling Example Available as of Camel 2.1 About This example shows how to use the new feature RoutePolicy to dynamically at runtime to throttle routes based on metrics gathered by the current number of inflight exchanges. What it means is that Ca
Page: Routebox
Routebox Component Available as of Camel 2.6 The Routebox component will be revisited in upcoming releases to see if it can be further simplified, be more intuitive and user friendly. The related Context component may be regardes as the simpler component.
Page: RouteBuilder
RouteBuilder The RouteBuilder is a base class which is derived from to create routing rules using the DSL. Instances of RouteBuilder are then added to the CamelContext. See Also CamelContext Routes Architecture
Page: RoutePolicy
RoutePolicy Available as of Camel 2.1 A route policy org.apache.camel.spi.RoutePolicy is used to control route(s) at runtime. For example you can use it to determine whether a route should be running or not. However the policies can support any kind of us
Page: Routes
Routes Camel supports the definition of routing rules using a Java DSL (domain specific language) which avoids the need for cumbersome XML using a RouteBuilder. For example a simple route can be created as follows. {snippet:id=e1|lang=java|url=camel/trunk
Page: Routing Slip
Routing Slip The Routing Slip from the EIP patterns allows you to route a message consecutively through a series of processing steps where the sequence of steps is not known at design time and can vary for each message. Options Name Default Value Descript
Page: RoutingSlip Annotation
@RoutingSlip Annotation As of Camel 2.4.0 we now support the use of @RoutingSlip on a bean method to easily create a dynamic Routing Slip using a Java method. Simple Example using @Consume and @RoutingSlip package com.acme.foo; public class RouterBean { @
Page: RSS
RSS Component The rss: component is used for polling RSS feeds. Camel will default poll the feed every 60th seconds. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId
Page: Ruby
Ruby Camel supports Ruby among other Scripting Languages to allow an Expression or Predicate to be used in the DSL or Xml Configuration. To use a Ruby expression use the following Java code ... ruby("someRubyExpression") ... For example you could use the
Page: Running Camel standalone
Is it possible to start Camel as a standalone application, without embedding it in another application? Yes Camel can run standalone or in any container. Running Standalone is as simple just to create a CamelContext, add routes and start it. If you don't
Page: Running Camel standalone and have it keep running
Running Camel standalone and have it keep running If you are using Camel as a standalone Java application, then Camel provides a Main class you can reuse to more easily boot up Camel and keep it running until the JVM terminates, for example when pressing
Page: Running Examples
Running Examples This section walks you through running the examples which are shipped with a binary distribution. Before you start First you need to Download a binary distribution. To run the demos with maven, you need to download and install Apache Mave
Page: Running RAT
Running RAT There is a tool called ARAT along with a maven RAT plugin which is very useful for checking the contents of releases and ensuring we don't miss licenses, headers, notice files and so forth. Note this tool is intended purely as a safety net; we
Page: Running Unit Tests
Testing Before you can run the tests you need to follow the steps for Building. By default when you run the install goal in maven the unit tests will all be run. mvn clean install If you want to run the integration tests as well you can use the integratio
Page: RX
Camel RX Available as of Camel 2.11 The camel-rx library provides Camel support for the Reactive Extensions (RX) using the RxJava library so that: Camel users can use the RxJava API for processing messages on endpoints using a typesafe composable API RxJa

S

Page: Salesforce
Salesforce component Available as of Camel 2.12 This component supports producer and consumer endpoints to communicate with Salesforce using Java DTOs. There is a companion maven plugin Camel Salesforce Plugin that generates these DTOs (see further below)
Page: Sampling
Sampling Throttler Available as of Camel 2.1 A sampling throttler allows you to extract a sample of the exchanges from the traffic through a route. It is configured with a sampling period during which only a single exchange is allowed to pass through. All
Page: SAP NetWeaver
SAP NetWeaver Gateway component Available as of Camel 2.12 The sap-netweaver integrates with the SAP NetWeaver Gateway using HTTP transports. This camel component supports only producer endpoints. Maven users will need to add the following dependency to t
Page: Scala DSL
About the Scala DSL Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It integrates very well with the Java platform. Our Scala DSL implementation is built on top of t
Page: Scala DSL - EIP
The Scala DSL supports every DSL from the Java DSL. On this page we have examples for a number of the EIPs. You can check the unit test source code for the Scala Component to find more examples. Messaging systems Pipeline There is a simple syntax availabl
Page: Scala DSL - Getting Started
Just like the Java DSL, the Scala DSL has a RouteBuilder class (org.apache.camel.scala.dsl.builder.RouteBuilder) that you can extend to implement your own routes. This example shows two very simple routes: {snippet:id=basic|lang=java|url=camel/trunk/compo
Page: Scala DSL - Supported languages
Support for other languages inside the Scala DSL routes is delivered through traits. The org.apache.camel.scala.dsl.languages package currently offers traits to support XPath. To use any given language, you can mix-in the trait when creating your RouteBui
Page: Scatter-Gather
Scatter-Gather The Scatter-Gather from the EIP patterns allows you to route messages to a number of dynamically specified recipients and re-aggregate the responses back into a single message. Dynamic Scatter-Gather Example In this example we want to get t
Page: ScheduledRoutePolicy
ScheduledRoutePolicy Available as of Camel 2.6 A scheduled route policy org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy is an extensible abstract policy that is used to provide camel route scheduling capabilities at runtime. Scheduling of routes
Page: Schematron
Schematron Component Available as of Camel 2.14 Schematron is an XML-based language for validating XML instance documents. It is used to make assertions about data in an XML document and it is also used to express operational and business rules. Schematro
Page: Scratch Page
Scratch Page This page lets anyone edit it to test out the wiki - or put docs here until we can grant you edit karma
Page: Scripting Languages
Scripting Languages Camel supports a number of scripting languages which can be used to create an Expression or Predicate via the standard JSR 223 which is a standard part of Java 6. The following scripting languages are integrated into the DSL: Language
Page: Scripting Languages Context
ScriptContext The JSR-223 scripting languages ScriptContext is pre configured with the following attributes all set at ENGINE_SCOPE: Attribute Type Value context org.apache.camel.CamelContext The Camel Context ( It cannot be used in groovy) camelContext o
Page: Security
Security Camel offers several forms & levels of security capabilities that can be utilized on camel routes. These various forms of security may be used in conjunction with each other or separately. The broad categories offered are Route Security - Authent
Page: Security Advisories
2013 CVE-2013-4330 - Writing files using FILE or FTP components, can potentially be exploited by a malicious user. CVE-2014-0002 - The Apache Camel XSLT component will resolve entities in XML messages when transforming them using an xslt route. CVE-2014-0
Page: SEDA
SEDA Component The seda: component provides asynchronous SEDA behavior, so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread from the producer. Note that queues are only visible within a single CamelContext. If
Page: Selective Consumer
Selective Consumer The Selective Consumer from the EIP patterns can be implemented in two ways The first solution is to provide a Message Selector to the underlying URIs when creating your consumer. For example when using JMS you can specify a selector pa
Page: Serialization
Serialization Serialization is a Data Format which uses the standard Java Serialization mechanism to unmarshal a binary payload into Java objects or to marshal Java objects into a binary blob. For example the following uses Java serialization to unmarshal
Page: Service Activator
Service Activator Camel has several endpoint components that support the Service Activator from the EIP patterns. Components like Bean, CXF and Pojo provide a a way to bind the message exchange to a Java interface/service where the route defines the endpo
Page: ServicePool
ServicePool Available as of Camel 2.0 Camel supports pluggable pools for services. At this time of write we have pools for: Producer The default producer service pool is org.apache.camel.impl.DefaultProducerServicePool and is used by default in Camel for
Page: SERVLET
Servlet Component The servlet: component provides HTTP based endpoints for consuming HTTP requests that arrive at a HTTP endpoint that is bound to a published Servlet. Maven users will need to add the following dependency to their pom.xml for this compone
Page: Servlet Tomcat Example
Servlet Tomcat Example Available as of Camel 2.7 This example is located in the examples/camel-example-servlet-tomcat directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven then you can easily pac
Page: Servlet Tomcat No Spring Example
Servlet Tomcat No Spring Example Available as of Camel 2.11 This example is located in the examples/camel-example-servlet-tomcat-no-spring directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven th
Page: ServletListener Component
ServletListener Component Available as of Camel 2.11 This component is used for bootstrapping Camel applications in web applications. For example beforehand people would have to find their own way of bootstrapping Camel, or rely on 3rd party frameworks su
Page: Set up your IDE
Import settings and templates Eclipse Install the checkstyle plugin via the Eclipse Marketplace Import checkstyle settings from etc/buildtools/src/main/resources/camel-checkstyle.xml Import the formatter from etc/eclipse/CamelCodeFormatter.xml Import code
Page: Shiro Security
Shiro Security Component Available as of Camel 2.5 The shiro-security component in Camel is a security focused component, based on the Apache Shiro security project. Apache Shiro is a powerful and flexible open-source security framework that cleanly handl
Page: Should I deploy Camel inside the ActiveMQ broker or in another application
Should I deploy Camel inside the ActiveMQ broker or in another application Whether you deploy the Enterprise Integration Patterns inside the ActiveMQ Broker or in a separate application depends on your requirements. Advantages of deploying EIP inside the
Page: Simple
Simple Expression Language The Simple Expression Language was a really simple language you can use, but has since grown more powerful. Its primarily intended for being a really small and simple language for evaluating Expression and Predicate without requ
Page: Simple Jira Bot
Simple Jira Bot Example Available as of Camel 2.7 The example is included in the distribution at examples/camel-example-simplejirabot. It contains a README.txt file with details how to use and run it. The routes This example has 1 route implemented in bot
Page: SimpleScheduledRoutePolicy
SimpleScheduledRoutePolicy Available as of Camel 2.6 SimpleScheduledRoutePolicy is a ScheduledRoutePolicy that facilitates route activation, de-activation, suspension and resumption of routes based on a Quartz SimpleTrigger. Maven users will need to add a
Page: Sip
SIP Component Available as of Camel 2.5 The sip component in Camel is a communication component, based on the Jain SIP implementation (available under the JCP license). Session Initiation Protocol (SIP) is an IETF-defined signaling protocol, widely used f
Page: Site
This page contains the main navigation links to the parts which make up the Site layout.
Page: Site Update Ideas
Rationale There is a growing sense in the community that the Camel Web site needs some updating. The precipitating e-mail cited a few key areas to look at: a new logo refreshed look and feel for the site clearer navigation clearer organization of the docu
Page: SiteIndex
{index}{index}
Page: SiteMap
Documentation Community Developers Site
Page: SJMS
SJMS Component Available as of Camel 2.11 The Simple JMS Component, or SJMS, is a JMS client for use with Camel that uses well known best practices when it comes to JMS client creation and configuration. SJMS contains a brand new JMS client API written ex
Page: Smooks
Smooks The camel-smooks component from Camel Extra has been removed. The Smooks Library integrates natively with Camel and we encourage end users to use that.
Page: SMPP
SMPP Component Available as of Camel 2.2 This component provides access to an SMSC (Short Message Service Center) over the SMPP protocol to send and receive SMS. The JSMPP is used. Starting with Camel 2.9, you are also able to execute ReplaceSm, QuerySm,
Page: SNMP
SNMP Component Available as of Camel 2.1 The snmp: component gives you the ability to poll SNMP capable devices or receiving traps. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache
Page: SOA Patterns
There is a pattern directory called SOA Patterns which lists a whole bunch of useful patterns. This experimental wiki page allows us over time to build up a list of SOA Patterns which Camel does implement rather like we do for the Enterprise Integration P
Page: SOAP
SOAP DataFormat Available as of Camel 2.3 SOAP is a Data Format which uses JAXB2 and JAX-WS annotations to marshal and unmarshal SOAP payloads. It provides the basic features of Apache CXF without need for the CXF Stack. SOAP 1.1 is supported by default.
Page: Solr
Solr Component Available as of Camel 2.9 The Solr component allows you to interface with an Apache Lucene Solr server (based on SolrJ 3.5.0). Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>
Page: Sort
Sort Sort can be used to sort a message. Imagine you consume text files and before processing each file you want to be sure the content is sorted. Sort will by default sort the body using a default comparator that handles numeric values or uses the string
Page: Source
Apache Camel code repository was moved to git, The old svn repo will not be updated. Web Browsing of git To browse via the web: https://git-wip-us.apache.org/repos/asf?p=camel.git Web Browing Using FishEye A hearty thanks to Atlassian for providing FishEy
Page: Spark-rest
Spark-rest Component Available as of Camel 2.14 The Spark-rest component allows to define REST endpoints using the Spark REST Java library using the Rest DSL. Spark Java requires Java 8 runtime. Maven users will need to add the following dependency to the
Page: SpEL
Spring Expression Language (SpEL) Available as of Camel 2.7 Camel allows SpEL to be used as an Expression or Predicate in the DSL or Xml Configuration. Variables The following variables are available in expressions and predicates written in SpEL: Variable
Page: Splitter
Splitter The Splitter from the EIP patterns allows you split a message into a number of pieces and process them individually You need to specify a Splitter as split(). In earlier versions of Camel, you need to use splitter(). Options Name Default Value De
Page: Splunk
Splunk Component Available as of Camel 2.13 The Splunk component provides access to Splunk using the Splunk provided client api, and it enables you to publish and search for events in Splunk. Maven users will need to add the following dependency to their
Page: Spring
Spring Support Apache Camel is designed to work nicely with the Spring Framework in a number of ways. Camel uses Spring Transactions as the default transaction handling in components like JMS and JPA Camel works with Spring 2 XML processing with the Xml C
Page: Spring Boot
Spring Boot Available as of Camel 2.15 Spring Boot component provide auto-configuration for the Apache Camel. Our opinionated auto-configuration of the Camel context auto-detects Camel routes available in the Spring context and registers the key Camel uti
Page: Spring Event
Spring Event Component The spring-event: component provides access to the Spring ApplicationEvent objects. This allows you to publish ApplicationEvent objects to a Spring ApplicationContext or to consume them. You can then use Enterprise Integration Patte
Page: Spring Example
Spring Example The spring example is a simple refactor of the first example to show how to use the Spring approach to working with Camel. In this example we just write RouteBuilder implementations, then we write a Spring ApplicationContext XML file to con
Page: Spring Java Config
Spring Java Config Spring started life using XML Config to wire beans together. However some folks don't like using XML and would rather use Java code which led to the creation of Guice along with the Spring JavaConfig project. You can use either the XML
Page: Spring Java Config Example
Spring Java Config Example Want to run your jar file and supply a list of packages / configuration classes and just see it run with Camel? Try Main from org.apache.camel.spring which even supports command-line flags. The spring java config example is a si
Page: Spring LDAP
Spring LDAP Component Available since Camel 2.11 The spring-ldap: component provides a Camel wrapper for Spring LDAP. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupI
Page: Spring Neo4j
Spring Neo4j Component Available as of Camel Extra 2.11 The camel-spring-neo4j library is provided by the Camel Extra project which hosts *GPL related components for Camel. The neo4j: component allows you to treat Neo4j as a camel producer endpoint. This
Page: Spring Redis
Spring Redis Component Available as of Camel 2.11 This component allows sending and receiving messages from Redis. Redis is advanced key-value store where keys can contain strings, hashes, lists, sets and sorted sets. In addition it provides pub/sub funct
Page: Spring Remoting
Spring Remoting We support Spring Remoting in Camel. The implementing of Spring Remoting uses Camel as the underlying transport mechanism. The nice thing about this approach is we can use any of the Camel transport Components to communicate between beans.
Page: Spring Security
Spring Security Available as of Camel 2.3 The camel-spring-security component provides role-based authorization for Camel routes. It leverages the authentication and user services provided by Spring Security (formerly Acegi Security) and adds a declarativ
Page: Spring Security Example
Spring Security Example The camel-spring-security module provides authentication and authorization capabilities via Spring Security. This example shows you how to use this functionality to implement a role based authorization application. This example con
Page: Spring Testing
Spring Testing Testing is a crucial part of any development or integration work. The Spring Framework offers a number of features that makes it easy to test while using Spring for Inversion of Control which works with JUnit 3.x, JUnit 4.x, and TestNG. We
Page: Spring Web Services
Spring Web Services Component Available as of Camel 2.6 The spring-ws: component allows you to integrate with Spring Web Services. It offers both client-side support, for accessing web services, and server-side support for creating your own contract-first
Page: Spring WS Example
Spring Web Services Example Available as of Camel 2.6 This example shows how to expose a SOAP-based web service using Camel and Spring Web Services. Running the example The example is included in the distribution at examples/camel-example-spring-ws. To st
Page: Spring XML Extensions
The Camel Spring XML Extensions allow you use a very concise XML syntax to describe your Camel configuration when you are using spring to wire together your application. The following is an example of what it looks like: {snippet:id=example|lang=xml|url=c
Page: Spring XQuery Example
Spring XQuery Example The Spring XQuery example uses no Java code; its configured purely using a Spring XML configuration file. It parsers some files from a directory, transforms them using XQuery then sends them to a message queue. To make it easy to loo
Page: SpringBatch
Spring Batch Component The spring-batch: component and support classes provide integration bridge between Camel and Spring Batch infrastructure. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <group
Page: SpringIntegration
Spring Integration Component The spring-integration: component provides a bridge for Camel components to talk to spring integration endpoints. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId
Page: SQL
SQL Language The SQL support is added by JoSQL and is primarily used for performing SQL queries on in-memory objects. If you prefer to perform actual database queries then check out the JPA component. Camel has both a SQL language and a SQL Component. Thi
Page: SQL Component
SQL Component The sql: component allows you to work with databases using JDBC queries. The difference between this component and JDBC component is that in case of SQL the query is a property of the endpoint and it uses message payload as parameters passed
Page: SQL Example
SQL Example Available as of Camel 2.11 This example is located in the examples/camel-example-sql directory of the Camel distribution. There is a README.txt file with instructions how to run it. If you use maven then you can easily compile and install the
Page: SSH
SSH Available as of Camel 2.10 The SSH component enables access to SSH servers such that you can send an SSH command, and process the response. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupI
Page: StAX
StAX Component Available as of Camel 2.9 The StAX component allows messages to be process through a SAX ContentHandler. Another feature of this component is to allow to iterate over JAXB records using StAX, for example using the Splitter EIP. Maven users
Page: Stomp
Stomp Component Available as of Camel 2.12 The stomp: component is used for communicating with Stomp compliant message brokers, like Apache ActiveMQ or ActiveMQ Apollo Maven users will need to add the following dependency to their pom.xml for this compone
Page: Stream
Stream Component The stream: component provides access to the System.in, System.out and System.err streams as well as allowing streaming of file and URL. Maven users will need to add the following dependency to their pom.xml for this component: <dependenc
Page: Stream caching
Stream caching While stream types (like StreamSource, InputStream and Reader) are commonly used in messaging for performance reasons, they also have an important drawback: they can only be read once. In order to be able to work with message content multip
Page: String
The String Data Format is a textual based format that supports encoding. Options Option Default Description charset null To use a specific charset for encoding. If not provided Camel will use the JVM default charset. Marshal In this example we marshal the
Page: StringTemplate
String Template The string-template: component allows you to process a message using a String Template. This can be ideal when using Templating to generate responses for requests. Maven users will need to add the following dependency to their pom.xml for
Page: Stub
Stub Component Available as of Camel 2.10 The stub: component provides a simple way to stub out any physical endpoints while in development or testing, allowing you for example to run a route without needing to actually connect to a specific SMTP or Http
Page: Support
Getting Help If you are experiencing problems using Camel then please report your problem to our Discussion Forums. This allows the entire community to help with your problem. If indeed a bug has been identified in the Camel software, then document the pr
Page: Swagger
Swagger Component Available as of Camel 2.14 The  Rest DSL can be integrated with the camel-swagger module which is used for exposing the REST services and their APIs using Swagger. Maven users will need to add the following dependency to their pom.xml fo
Page: Syslog
Syslog DataFormat Available as of Camel 2.6 The syslog dataformat is used for working with RFC3164 and RFC5424 messages. This component supports the following: UDP consumption of syslog messages Agnostic data format using either plain String objects or Sy

T

Page: Team
This page lists who we are. By all means add yourself to the list - lets sort it in alphabetical order Committers Name ID Organisation Aaron Mulder ammulder Chariot Solutions Akitoshi Yoshida ay SAP Babak Vahdat bvahdat Cyberlogic Consulting GmbH Ben O'Da
Page: Templating
Templating When you are testing distributed systems its a very common requirement to have to stub out certain external systems with some stub so that you can test other parts of the system until a specific system is available or written etc. A great way t
Page: Test
Test Component The test component extends the Mock component to support pulling messages from another endpoint on startup to set the expected message bodies on the underlying Mock endpoint. That is, you use the test endpoint in a route and messages arrivi
Page: Testing
Testing Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different technologies wired together in a variety of patterns with different expression languages together with different forms
Page: Testing a release candidate
When a release candidate has been cut, a vote is started, inviting all members of the community to test the release candidate before actually declaring it an official release. What/how to test before casting your vote? Checking the distributables (tar.gz
Page: Testing Summary Include
Testing of distributed and asynchronous processing is notoriously difficult. The Mock, Test and DataSet endpoints work great with the Camel Testing Framework to simplify your unit and integration testing using Enterprise Integration Patterns and Camel's l
Page: Threading Model
Threading Model Available as of Camel 2.3 The threading model in Camel is based on leveraging the JDK concurrency API which provides thread pools, named ExecutorService. Camel leverages thread pools in the following places: several EIP patterns supports u
Page: Throttler
Throttler The Throttler Pattern allows you to ensure that a specific endpoint does not get overloaded, or that we don't exceed an agreed SLA with some external service. Options Name Default Value Description maximumRequestsPerPeriod   Maximum number of re
Page: TidyMarkup
TidyMarkup TidyMarkup is a Data Format that uses the TagSoup to tidy up HTML. It can be used to parse ugly HTML and return it as pretty wellformed HTML. We had some issues in our pdf Manual where we had some strange symbols. So Jonathan used this data for
Page: Timer
Timer Component The timer: component is used to generate message exchanges when a timer fires You can only consume events from this endpoint. URI format timer:name[?options] Where name is the name of the Timer object, which is created and shared across en
Page: ToAsync
ToAsync Available as of Camel 2.1 Unfortunately this feature did not work out, and is going to be replaced with a new fully asynchronous routing engine in Camel 2.4. ToAsync will be removed from Camel 2.4 onwards. Do not use this feature or prepare to mig
Page: Tokenizer
Tokenizer The tokenizer language is a built-in language in camel-core, which is most often used only with the Splitter EIP to split a message using a token-based strategy.The tokenizer language is intended to tokenize text documents using a specified deli
Page: Tools
Tools This page gives a list of the various tools available for Camel Maven Tools Camel Maven Plugin for booting up Camel applications directly in maven to test it Creating a new Spring based Camel Route using a maven archetype Creating a new Camel Compon
Page: Tracer
Tracer Interceptor Camel supports a tracer interceptor that is used for logging the route executions at INFO level. The Tracer is an InterceptStrategy which can be applied to a DefaultCamelContext or SpringCamelContext to ensure that there is a TracerInte
Page: Tracer Example
Tracer Example Introduction This example demonstrates the Tracer. Tracer is a tracing feature build in camel core to log snapshots of Exchanges while they are routed. This allows you to see: how a given Exchange was routed a snapshot of the content of the
Page: Transactional Client
Transactional Client Camel recommends supporting the Transactional Client from the EIP patterns using spring transactions. Transaction Oriented Endpoints (Camel Toes) like JMS support using a transaction for both inbound and outbound message exchanges. En
Page: TransactionErrorHandler
TransactionErrorHandler Available as of Camel 2.0 This is the new default transaction error handler in Camel 2.0 onwards, used for transacted routes. It uses the same base as the DefaultErrorHandler so it has the same feature set as this error handler. By
Page: Transport
Transports Apache Camel supports a number of different plugable componets for talking to different transports. The transports is implement as Camel components.
Page: Try Catch Finally
Try ... Catch ... Finally Camel supports the Java equivalent of try .. catch and finally directly in the DSL. It aims to work like its Java sisters but with more power. Especially in Camel 2.0 where we gave this feature an overhaul. In Camel we prefix the
Page: Tutorial for Camel on Google App Engine
Camel on Google App Engine Tutorial Overview Goal of this tutorial is to get a non-trivial Camel application running on Google App Engine (GAE). For developing that application the Camel Components for Google App Engine are used. The example web applicati
Page: Tutorial on using Camel in a Web Application
Tutorial on using Camel in a Web Application Camel has been designed to work great with the Spring framework; so if you are already a Spring user you can think of Camel as just a framework for adding to your Spring XML files. So you can follow the usual S
Page: Tutorial-AXIS-Camel
Tutorial using Axis 1.4 with Apache Camel This example has been removed from Camel 2.9 onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use CXF instead of Axis. Prerequisites This tutorial uses Maven 2 to setup the C
Page: Tutorial-Business-Partners
Tutorial Business Partners This tutorial is a work in progress. Background and Introduction Business Background So there's a company, which we'll call Acme. Acme sells widgets, in a fairly unusual way. Their customers are responsible for telling Acme what
Page: Tutorial-Example-ReportIncident
Tutorial - camel-example-reportincident Introduction Creating this tutorial was inspired by a real life use-case I discussed over the phone with a colleague. He was working at a client whom uses a heavy-weight integration platform from a very large vendor
Page: Tutorial-Example-ReportIncident-Part1
Part 1 Prerequisites This tutorial uses the following frameworks: Maven 3.0.4 Apache Camel 2.10.0 Apache CXF 2.6.1 Spring 3.0.7 Note: The sample project can be downloaded, see the resources section. Initial Project Setup We want the integration to be a st
Page: Tutorial-Example-ReportIncident-Part2
Part 2 Adding Camel In this part we will introduce Camel so we start by adding Camel to our pom.xml: <properties> ... <camel-version>1.4.0</camel-version> </properties> <!-- camel --> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core
Page: Tutorial-Example-ReportIncident-Part3
Part 3 Recap Lets just recap on the solution we have now: public class ReportIncidentEndpointImpl implements ReportIncidentEndpoint { private CamelContext camel; private ProducerTemplate template; public ReportIncidentEndpointImpl() throws Exception { //
Page: Tutorial-Example-ReportIncident-Part4
Part 4 Introduction This section is about regular Camel. The examples presented here in this section is much more in common of all the examples we have in the Camel documentation. If you have been reading the previous 3 parts then, this quote applies: you
Page: Tutorial-Example-ReportIncident-Part5
Part 5 ... Continued from Part 4 We continue from part 4 where we have the routing in place. However as you might have noticed we aren't quiet there yet with a nice solution, we are still coding to much. In this part we will look into to address these two
Page: Tutorial-Example-ReportIncident-Part6
Part 6 ... Continued from Part 5 We continue from part 5 where we ended up with a complete solution using routes defined in Java code. In this last part of this tutorial we will define the route in XML instead. As I am writing this, its been 4.5 years sin
Page: Tutorial-JmsRemoting
Tutorial on Spring Remoting with JMS   This tutorial was kindly donated to Apache Camel by Martin Gilday. Preface This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a
Page: Tutorial-OAuth
Camel OAuth Tutorial Overview Goal of this tutorial is to demonstrate how to implement an OAuth consumer with Apache Camel. In this tutorial, the OAuth consumer is a simple web application running on Google App Engine. It reads data from a user's Google C
Page: tutorial-osgi-camel-part1
Introduction The focus of this Tutorial is to introduce you how you can create, design a simple SOA solution using Camel and OSGI. Most of the current and commercial SOA solutions rely on standards XML/WSDL/BPMN/BPEL and Business Processes (designed throu
Page: tutorial-osgi-camel-part2
Introduction The purpose of this tutorial is not at all to teach you on SOA but to draw your attention on points that the developer(s)/deployer(s) will be confronted during the design/development and release management phases. Designing a Service Oriented
Page: tutorial-osgi-camel-part2a
Transform existing projects into bundles To convert a project into a bundle a couple of things/steps must be done : 1) Declare the project in the maven pom.xml file as of type <packaging>bundle</packaging>, 2) Add the maven felix plugin who will generate
Page: tutorial-osgi-camel-part2b
Routing/Mediation service The routing/mediation between services/bundles will be created using Camel Spring DSL language. We will describe its creation/genesis step by step. First, create the file camel-context.xml in the directory src/main/resources/META
Page: tutorial-osgi-camel-part2c
Apache Wicket - web site The tutorial is almost finished. We have to design the web page that we will use to consult the incidents published in the database. The web framework that we will use is Apache Wicket. Step 1 : Web pages To display the incidents
Page: Tutorials
We have a number of tutorials as listed below. The tutorials often comes with source code which is either available in the Camel Download or attached to the wiki page. These tutorials listed below, is hosted at Apache. We offer the Articles page where we
Page: Twitter
Twitter Available as of Camel 2.10 The Twitter component enables the most useful features of the Twitter API by encapsulating Twitter4J. It allows direct, polling, or event-driven consumption of timelines, users, trends, and direct messages. Also, it supp
Page: Twitter Websocket Blueprint Example
Twitter Websocket Blueprint Example Available as of Camel 2.12 This example is located in the Camel distribution at examples/camel-example-twitter-websocket-blueprint. The example is demonstrating how to poll a constant feed of twitter searches and publis
Page: Twitter Websocket Example
Twitter Websocket Example Available as of Camel 2.10 This example is located in the Camel distribution at examples/camel-example-twitter-websocket. There is a Twitter Websocket Blueprint Example for OSGi Blueprint users. The example is demonstrating how t
Page: Type Converter
Type Converter Its very common when routing messages from one endpoint to another to need to convert the body payloads from one type to another such as to convert to and from the following common types File String byte[] and ByteBuffer InputStream and Out

U

Page: Unsupported Groovy DSL Features on Web Console
Unsupported Groovy DSL Features on Web Console Most of the DSL features have been supported on Web Console, so you can view and edit in an easy way. However, Web Console doesn't support all the features that you can get from an IDE. Here will list and exp
Page: Upgrade dependency guide
How to upgrade a Camel dependency 1. Open an JIRA issue Open an JIRA issue at https://issues.apache.org/jira/browse/CAMEL, if it does not already exist. The issue type should be "Task". A sample can be found here: https://issues.apache.org/jira/browse/CAM
Page: URIs
URIs Camel makes extensive use of URIs to allow you to refer to endpoints which are lazily created by a Component if you refer to them within Routes. Make sure to read How do I configure endpoints to learn more about configuring endpoints. For example how
Page: UrlRewrite
UrlRewrite Component Available as of Camel 2.11 The camel-urlrewrite component allows to plugin url rewrite functionality to HTTP, HTTP4, Jetty, or AHC components. This component integrates the UrlRewriteFilter project with Apache Camel. This allows you t
Page: User Guide
User Guide If you want to get more familiar with what Apache Camel has to offer, please try the following resources: Wiki pages Getting Started Longer Getting Started Guide Camel jar dependencies Working with Camel and Spring Working with Camel and Guice
Page: User Stories
User Stories This page is intended as a place to collect user stories and feedback on Apache Camel. If you are using or have tried Apache Camel please add an entry or comment; or post to the Discussion Forums. Company, Product, or Project Description Apac
Page: Uses Commons Logging
Camel uses sfl4j which allows you to configure logging via, among others: Log4j Logback JDK Util Logging logging
Page: Using Camel Questions
Questions on using Apache Camel
Page: Using camel-core-tests.jar
Using camel-core-tests.jar The camel-core-tests.jar is not for usage for Camel end users. This JAR is only used internally by Camel itself when it tests the same unit tests using different DSL such as Spring XML, Blueprint XML, Scala DSL etc. End users wh
Page: Using CamelProxy
Using CamelProxy Camel allows you to proxy a producer sending to an Endpoint by a regular interface. Then when clients using this interface can work with it as if its regular java code but in reality its proxied and does a Request Reply to a given endpoin
Page: Using Exchange Pattern Annotations
Using Exchange Pattern Annotations When working with POJO Producing or Spring Remoting you invoke methods which typically by default are InOut for Request Reply. That is there is an In message and an Out for the result. Typically invoking this operation w
Page: Using getIn or getOut methods on Exchange
Messsage exchange patterns and the Exchange object The Camel API is influenced by APIs such as JBI specification, CXF which defines a concept called Message Exchange Patterns (MEP for short). The MEP defines the messaging style used such as one-way (InOnl
Page: Using Languages In IDE
To use different expression and predicates in your IDE you need to perform a static import of the builder class for the language(s) you wish to use. Language(s) Builder class to import Scripting Languages such as BeanShell, JavaScript, Groovy, PHP, Python
Page: Using OSGi blueprint with Camel
Using OSGi blueprint with Camel Available as of Camel 2.4 A custom XML namespace for Blueprint has been created to let you leverage the nice XML dialect. Given Blueprint custom namespaces are not standardized yet, this namespace can only be used on the Ap
Page: Using PropertyPlaceholder
Using PropertyPlaceholder Available as of Camel 2.3 Camel now provides a new PropertiesComponent in camel-core which allows you to use property placeholders when defining Camel Endpoint URIs. This works much like you would do if using Spring's <property-p
Page: Using This Pattern
Using This Pattern If you would like to use this EIP Pattern then please read the Getting Started, you may also find the Architecture useful particularly the description of Endpoint and URIs. Then you could try out some of the Examples first before trying
Page: UuidGenerator
UuidGenerator Starting with Camel 2.5, Camel supports 3rd party UUID generator(s). This is useful, if e.g. your messaging provider does not support UUID's with a length of 36 characters (like Websphere MQ). Another useful scenario is to use a simple count

V

Page: Validate
Validate Available as of Camel 2.3 Validate uses an expression or predicates to validate the contents of a message. It is useful for ensuring that messages are valid before attempting to process them. You can use the validate DSL with all kind of Predicat
Page: Validation
Validation Component The Validation component performs XML validation of the message body using the JAXP Validation API and based on any of the supported XML schema languages, which defaults to XML Schema Note that the Jing component also supports the fol
Page: Velocity
Velocity The velocity: component allows you to process a message using an Apache Velocity template. This can be ideal when using Templating to generate responses for requests. Maven users will need to add the following dependency to their pom.xml for this
Page: Vertx
Vertx Component Available as of Camel 2.12 The vertx component is for working with the Vertx EventBus. The vertx EventBus sends and receives JSON events. Maven users will need to add the following dependency to their pom.xml for this component: <dependenc
Page: VirtualBox
VirtualBox Component Available as of Camel 2.11.0 This component uses the web-service API of VirtualBox to execute vbox commands and consume events from virtual machines. Options Name Default Value Description consumer.delay 500 Option for consumer only.
Page: Visualisation
Visualisation This functionality is deprecated and to be removed in future Camel releases.   Camel supports the visualisation of your Enterprise Integration Patterns using the GraphViz DOT files which can either be rendered directly via a suitable GraphVi
Page: VM
VM Component The vm: component provides asynchronous SEDA behavior, exchanging messages on a BlockingQueue and invoking consumers in a separate thread pool. This component differs from the Seda component in that VM supports communication across CamelConte
Page: VTD-XML
VTD-XML Available as of Camel 2.10 The VTD-XML component supports the VTD-XML Library for very fast and efficient XPath processing. The camel-vtdxml library is provided by the Camel Extra project which hosts all *GPL related components for Camel. Using Th

W

Page: Walk through an Example
Walk through an Example Code This mini-guide takes you through the source code of a simple example. Camel can be configured either by using Spring or directly in Java - which this example does. This example is available in the examples\camel-example-jms-f
Page: Walk through another example
Walk through another example Introduction Continuing the walk from our first example, we take a closer look at the routing and explain a few pointers - so you won't walk into a bear trap, but can enjoy an after-hours walk to the local pub for a large beer
Page: Weather
Weather Component Available as of Camel 2.12 The weather: component is used for polling weather information from Open Weather Map - a site that provides free global weather and forecast information. The information is returned as a json String object. Cam
Page: Web Console
Web Console Deprecated The web console module from Apache Camel distribution is deprecated and will be removed from Camel 3.0 onwards. Instead we encourage users to look at some of the alternative console projects, which some are listed in the bottom of t
Page: Websocket
Websocket Component Available as of Camel 2.10 The websocket component provides websocket endpoints for communicating with clients using websocket. The component uses Eclipse Jetty Server which implements the IETF specification (drafts and RFC 6455). It s
Page: What are the dependencies
What are the dependencies? Camel 2.6 or older can run on JDK 1.5 or better. Camel 2.7 onwards requires JDK 1.6 or JDK 1.7.Camel 2.14 onwards requires JDK 1.7 or better.  What are the runtime jar dependencies? Apache Camel is designed to require a minimum
Page: What is a Camel TOE
What is a Camel TOE A Camel TOE is a Transaction Oriented Endpoint; or Transactional Client in the Enterprise Integration Patterns. Some folks have other definitions of Camel Toe
Page: What is a router
What is a router? We often talk about that Camel is a mediation and routing framework; so what exactly is a router and what does it do? Basically a router just consumes Message exchanges from some Endpoint, then sends them on to some other Endpoint using
Page: What is Camel
Apache Camel ™ is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring o
Page: What is the license
What is the license? This software is open source using the Apache 2.0 licence (a liberal BSD style license which is very commercial friendly)
Page: What jars do I need
What jars do I need? Camel is designed to be small lightweight and extremely modular so that you only pay for what you use. The core of camel, camel-core.jar is small and has minimal dependencies. On Java 6 camel-core.jar only depends on commons-managemen
Page: What languages are supported
What languages are supported Camel supports multiple Languages in the DSL or Xml Configuration for maximum extensibility. The following is the list of currently supported languages
Page: What platforms are supported
What platforms are supported? Any platform supporting JDK 6. We regularly test Camel on Linux, Windows and OS X. If you have a platform that is not listed contact one of the companies that provide commercial support.
Page: Why can I not use when or otherwise in a Java Camel route
Why can I not use when/otherwise in a Java Camel route? When using the Content Based Router in the Java DSL you may have a situation where the compiler will not accept the following when() or otherwise() statement. Use .endChoice() to return "back" to the
Page: Why can't I use + sign in my password
Page: Why do Camel throw so many NoClassDefFoundException on startup
Why do Camel throw so many NoClassDefFoundException on startup Camel uses a runtime strategy to discover features while it starts up. This is used to register components, languages, type converters etc. If you are using the uber .jar (the big camel.jar) w
Page: Why do my message lose its headers during routing?
Why do my message lose its headers during routing? See this FAQ entry
Page: Why does Camel use too many threads with ProducerTemplate
Why does Camel use too many threads with ProducerTemplate? A common reason is creating a new ProducerTemplate inside a Processor or bean method invocation. You are not meant to create a ProducerTemplate for each message invocation; you are meant to create
Page: Why does FTP component not download any files?
Why does FTP component not download any files? The FTP component has many options. So make sure you have configured it properly. Also a common issue is that you have to use either active or passive mode. So you may have to set passiveMove=true on the endp
Page: Why does maven not download dependencies
Why does maven not download dependencies? Maven uses HTTP to download its dependenices along with the dependencies of the maven project (such as Camel). If you run maven and it fails to download your required dependencies its likely to be caused by your l
Page: Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?
Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler? There could be several reasons why the File consumer is not picking up files. For example it may not run at all, or it cannot acquire a read lo
Page: Why does my JMS route only consume one message at once
Why does my JMS route only consume one message at once? The default JMS endpoint configuration defines concurrentConsumers to be 1 so only 1 message is processed concurrently at any point in time. To change this to make things more concurrent, just config
Page: Why does useOriginalMessage with error handler not work as expected?
Why does useOriginalMessage with error handler not work as expected? If you use the useOriginalMessage option from the Camel Error Handler then it matters if you use this with EIPs such as Recipient List Splitter Multicast Then the option shareUnitOfWork
Page: Why is my message body empty?
Why is my message empty? In Camel the message body can be of any types. Some types are safely readable multiple times, and therefore do not 'suffer' from becoming 'empty'. So when you message body suddenly is empty, then that is often related to using a m
Page: Why is my processor not showing up in JConsole
Why is my processor not showing up in JConsole Not every processor is managed, and thus not all are visible in JConsole. A processor must implement the org.apache.camel.Service to be managed. Most EIP processors do this. For example, the minor ones such a
Page: Why is the exception null when I use onException
Why is the exception null when I use onException? If you use onException to handle exceptions, such as shown below: .onException(Exception.class).handled(true) .process(new Processor() { @Override public void process(Exchange exchange) throws Exception {
Page: Why the name Camel
Why did you choose the name Camel it stands for Concise Application Message Exchange Language (i.e. the Java DSL for routing) a Camel can carry 4 times the load of other beasts of burden a Camel can travel for great distances without water; similarly a Ca
Page: Why use multiple CamelContext
Why use multiple CamelContext In general, you don't tend to want multiple camel contexts in your application, if you're running Camel as a standalone Java instance. However, if you're deploying Camel routes as OSGi bundles, or WARs in an application serve
Page: Wire Tap
Wire Tap Wire Tap (from the EIP patterns) allows you to route messages to a separate location while they are being forwarded to the ultimate destination. If you Wire Tap a stream message body then you should consider enabling Stream caching to ensure the
Page: Writing Components
Writing Components Apache Camel is designed to make it very easy to drop in new components whether they be routing components, transformers, transports etc. The idea of a component is to be a factory and manager of Endpoints. Here are the main steps to wr

X

Page: Xml Configuration
Xml Configuration We recommend developers use the Java Domain Specific Language when writing routing rules as this provides maximum IDE completion and functionality while being the most expressive. However if you wish to put your routing rules in XML you
Page: Xml Reference
Camel Xml Reference This page contains a link to the XML schema documents for Xml Configuration with Camel releases. You can refer to http://camel.apache.org/schema/ to see the individual XSDs available. Released Schemas - Spring Version XML Schema 2.14.0
Page: XML Security component
XML Security component Available as of Camel 2.12.0 With this Apache Camel component, you can generate and validate XML signatures as described in the W3C standard XML Signature Syntax and Processing or as described in the successor version 1.1. For XML E
Page: XmlBeans
XmlBeans XmlBeans is a Data Format which uses the XmlBeans library to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload. from("activemq:My.Queue"). unmarshal().xmlBeans(). to("mqseries:Another.Queue"); Dependencies
Page: XmlJson
XML JSON Data Format (camel-xmljson) Available as of Camel 2.10 Camel already supports a number of data formats to perform XML and JSON-related conversions, but all of them require a POJO either as an input (for marshalling) or produce a POJO as output (f
Page: XmlRpc
XmlRpc Component Available as of Camel 2.11 This component provides a dataformat for xml, which allows serialization and deserialization of request messages and response message using Apache XmlRpc's binary dataformat. You can also invoke the XMLRPC Servi
Page: XMLSecurity DataFormat
XMLSecurity Data Format The XMLSecurity Data Format facilitates encryption and decryption of XML payloads at the Document, Element, and Element Content levels (including simultaneous multi-node encryption/decryption using XPath). To sign messages using th
Page: XMLTokenizer
XMLTokenizer The xml tokenizer language is a built-in language in camel-core, which is a truly XML-aware tokenizer that can be used with the Splitter as the conventional Tokenizer to efficiently and effectively tokenize XML documents. XMLTokenizer is capa
Page: XMPP
XMPP Component The xmpp: component implements an XMPP (Jabber) transport. Maven users will need to add the following dependency to their pom.xml for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-xmpp</artifactId> <vers
Page: XPath
XPath Camel supports XPath to allow an Expression or Predicate to be used in the DSL or Xml Configuration. For example you could use XPath to create an Predicate in a Message Filter or as an Expression for a Recipient List. If the message body is stream b
Page: XQuery
XQuery Camel supports XQuery to allow an Expression or Predicate to be used in the DSL or Xml Configuration. For example you could use XQuery to create an Predicate in a Message Filter or as an Expression for a Recipient List. Options Name Default Value D
Page: XQuery Endpoint
XQuery The xquery: component allows you to process a message using an XQuery template. This can be ideal when using Templating to generate respopnses for requests. Maven users will need to add the following dependency to their pom.xml for this component:
Page: XSLT
XSLT The xslt: component allows you to process a message using an XSLT template. This can be ideal when using Templating to generate respopnses for requests. URI format xslt:templateName[?options] Where templateName is the classpath-local URI of the templ
Page: XStream
XStream XStream is a Data Format which uses the XStream library to marshal and unmarshal Java objects to and from XML. To use XStream in your camel routes you need to add the a dependency on camel-xstream which implements this data format. Maven users wil

Y

Page: Yammer
Yammer Available as of Camel 2.12 The Yammer component allows you to interact with the Yammer enterprise social network. Consuming messages, users, and user relationships is supported as well as creating new messages. Yammer uses OAuth 2 for all client ap

Z

Page: ZeroMQ
Camel ZeroMQ Component Available as of Camel 2.11 The camel-zeromq component is provided by the Camel Extra project which hosts *GPL related components for Camel. The camel-zeromq component allows you to consumer or produce messages using ZeroMQ. Zeromq r
Page: Zip DataFormat
The Zip Data Format is a message compression and de-compression format. Messages marshalled using Zip compression can be unmarshalled using Zip decompression just prior to being consumed at the endpoint. The compression capability is quite useful when you
Page: Zip File DataFormat
Zip File   The Zip File Data Format is a message compression and de-compression format. Messages can be marshalled (compressed) to Zip files containing a single entry, and Zip files containing a single entry can be unmarshalled (decompressed) to the origi
Page: Zookeeper
ZooKeeper Available as of Camel 2.9 The ZooKeeper component allows interaction with a ZooKeeper cluster and exposes the following features to Camel: Creation of nodes in any of the ZooKeeper create modes. Get and Set the data contents of arbitrary cluster

!@#$

© 2004-2014 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram