Space Index

0-9 ... 0A ... 31B ... 37C ... 138D ... 28E ... 29
F ... 13G ... 24H ... 82I ... 15J ... 25K ... 3
L ... 16M ... 27N ... 7O ... 4P ... 24Q ... 4
R ... 28S ... 70T ... 41U ... 17V ... 6W ... 29
X ... 12Y ... 0Z ... 4!@#$ ... 0  

0-9

A

Page: Acknowledgment
Many thanks to the following organizations for helping the Camel project. !http://www.structure101.com/structure101java/images/webapp.gif! Headway Software http://www.headwaysoftware.com/ provided free licenses of Structure101 http://www.headwaysoftware.com/products/structure101/index.php for analyzing and managing the architecture of Camel http://www.structure101.com/structure101java/tracker/camel/1.2.0/summary.html ...
Page: ActiveMQ
ActiveMQ Component The ActiveMQ component allows messages to be sent to a JMS http://java.sun.com/products/jms/ Queue or Topic or messages to be consumed from a JMS Queue or Topic using Apache ActiveMQ http://activemq.apache.org/ The most popular and powerful open source ...
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 ...
Page: ActiveMQ Journal
ActiveMQ Journal Component The ActiveMQ Journal Component allows messages to be stored in a rolling log file and then consumed from that log file. The journal aggregates and batches up concurrent writes so that the overhead of writing and waiting for the disk sync is relatively constant ...
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 ...
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 The following ...
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 ...
Page: Aggregate Example
Aggregate Example Available as of Camel 2.3 About This example demonstrates the new overhauled Aggregator Aggregator2 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 storage using the new ...
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 http://www.enterpriseintegrationpatterns.com/Aggregator.html from the EIP ...
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 http://www.enterpriseintegrationpatterns.com/Aggregator.html from the EIP patterns Enterprise Integration Patterns allows you to combine a number of messages ...
Page: AHC
Async Http Client (AHC) Component Available as of Camel 2.8 The ahc: component provides HTTP based endpoints Endpoint for consuming external HTTP resources (as a client to call external servers using HTTP). The component uses the Async Http Client ...
Page: AMQP
AMQP The amqp: component supports the AMQP protocol http://www.amqp.org/ using the Client API of the Qpid http://qpid.apache.org/ project. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelamqp</artifactId ...
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 http ...
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 ...
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 https://github.com/notnoop/javaapns library. The component supports sending notifications to Apple Push Notification Servers (APNS ...
Page: Architecture
Architecture Camel uses a Java based Routing Domain Specific Language (DSL) DSL or an Xml Configuration to configure routing and mediation rules Routes which are added to a CamelContext http://camel.apache.org/maven/current/camelcore/apidocs/org/apache ...
Page: Articles
See also Camel User Stories http://camel.apache.org/userstories.html. We have collected a number of links to external resources about Camel. The lists are ordered so the newest links are added to the bottom of each list. Articles on Apache Camel Introduction ...
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 ...
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 Asynchronous ...
Page: Asynchronous Queueing
details see the discussion on Asynchronous Queueing on the SOA Patterns site http://cwiki.apache.org/confluence/display/CAMEL/SOAPatterns. To implement asynchronous queueing just send a message to an async endpoint like JMS or SEDA. You can also force ...
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 is supported as well a selected number of Components: AHC Camel 2.8: (only producer) AWS Camel 2.11 ...
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 {{pom.xml ...
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 producers and consumers endpoint for using ...
Page: AWS
Camel Components for Amazon Web Services The Camel Components for Amazon Web Services http://aws.amazon.com provide connectivity to AWS services from Camel. AWS service Camel component Camel Version Component description Simple Queue Service (SQS ...
Page: AWS-CW
CW Component Available as of Camel 2.11 The CW component allows messages to be sent to an Amazon CloudWatch http://aws.amazon.com/cloudwatch/ metrics. The implementation of the Amazon API is provided by the&nbsp;AWS SDK http://aws.amazon.com/sdkforjava/. You must have ...
Page: AWS-DDB
DDB Component Available as of Camel 2.10 The DynamoDB component supports storing and retrieving data from/to Amazon's DynamoDB http://aws.amazon.com/dynamodb service. You must have a valid Amazon Web Services developer account, and be signed up to use ...
Page: AWS-S3
S3 Component Available as of Camel 2.8 The S3 component supports storing and retrieving objetcs from/to Amazon's S3 http://aws.amazon.com/s3 service. You must have a valid Amazon Web Services developer account, and be signed up to use ...
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 http://aws.amazon.com/sdb service. You must have a valid Amazon Web Services developer account, and be signed up to use ...
Page: AWS-SES
SES Component Available as of Camel 2.8.4 The ses component supports sending emails with Amazon's SES http://aws.amazon.com/ses service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SES ...
Page: AWS-SNS
SNS Component Available as of Camel 2.8 The SNS component allows messages to be sent to an Amazon Simple Notification http://aws.amazon.com/sns Topic. The implementation of the Amazon API is provided by the&nbsp;AWS SDK http://aws.amazon.com/sdkforjava/. You must ...
Page: AWS-SQS
SQS Component Available as of Camel 2.6 The sqs component supports sending and receiving messages to Amazon's SQS http://aws.amazon.com/sqs service. You must have a valid Amazon Web Services developer account, and be signed up to use Amazon ...

B

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 last N messages for each node ...
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 submit Purchase ...
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 ...
Page: Banner
div id="asflogo"> <div id="activemqlogo" style="height:108px; background:transparent url(banner.data/apachecamel7.png) norepeat scroll left top;"> <a style="float:left; width:310px;display:block;textindent:5000px;textdecoration:none;lineheight ...
Page: Base64
Base64 Data Format Available as of Camel 2.11 The Base64 Data Format is a data format for base64 encoding and decoding http://en.wikipedia.org/wiki/Base64. Options Option Default Description lineLength 76 To specific a maximum line length for the encoded data. lineSeparator ...
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 consumer can implement to indicate it support batching ...
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 ...
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 occur in different ...
Page: Bean Injection
Bean Injection We support the injection of various resources using @EndpointInject. 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. ProducerTemplate instances for POJO ...
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 process a number of Camel annotations to do various ...
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 then a method is invoked to evaluate the Expression or Predicate ...
Page: Bean Validation
Bean Validation Component Available as of Camel 2.3 The Validation component performs bean validation of the message body using the Java Bean Validation API (JSR 303 http://jcp.org/en/jsr/detail?id=303). Camel uses the reference ...
Page: BeanIO
BeanIO Available as of Camel 2.10 The BeanIO Data Format uses BeanIO http://beanio.org/ to handle flat payloads (such as XML, CSV, delimited, or fixed length formats). BeanIO is configured using a mappings XML http://beanio.org/2.0/docs/reference/index.html ...
Page: BeanShell
BeanShell Camel supports BeanShell http://www.beanshell.org/ 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.getHeaders ...
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 ...
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 Components. Bindings are inspired by the work ...
Page: Bindy
Bindy The goal of this component is to allow the parsing/binding of nonstructured data (or to be more precise nonXML data) to/from Java Beans that have binding mappings defined with annotations. Using Bindy, you can bind data from sources such as : CSV records ...
Page: Blueprint Testing
Blueprint Testing Available as of Camel 2.10 Testing is a crucial part of any development or integration work. Camel supports the definition of Blueprint routes Using OSGi blueprint with Camel, but given Blueprint is an OSGi specific technology, writing unit tests ...
Page: Book
Book These pages are used to create the DocBook for the User Guide Introduction Book Introduction Getting Started Book Getting Started Architecture Book Architecture Enterprise Integration Patterns Book Enterprise Integration Patterns Cook Book Book cookbook Tutorials ...
Page: Book Architecture
Architecture For a full details of the individual languages see the Language Appendix Book Languages Appendix For a full details of the individual components see the Component Appendix Book 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 http://www.enterpriseintegrationpatterns.com/toc.html from the excellent book http://www.amazon.com/dp/0321200683?tag=enterpriseint20&camp=14573&creative=327641&linkCode=as1&creativeASIN=0321200683&adid=1VPQTCMNNEMCJXPKRFPG ...
Page: Book Front Cover
Apache Camel User Guide <h3 id="replaceme">Version 2.10.4</h3> Copyright 20072013, 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. By doing this, the authors of a patterns book ...
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 DSL or the Xml Configuration. The following languages are supported
Page: Book Pattern Appendix
Pattern Appendix There now follows a breakdown of the various Enterprise Integration Patterns http://www.enterpriseintegrationpatterns.com/toc.html 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="#chapterintroduction">Introduction</a></li> <li class="chapter ...
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 http://www.manning.com/ibsen Open Source ESBs in Action ...
Page: BrowsableEndpoint
BrowsableEndpoint BrowsableEndpoint http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/spi/BrowsableEndpoint.html 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 ...
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 Where someName can be any string to uniquely ...
Page: Building
Building Camel from Source Camel uses Maven http://maven.apache.org/ 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 ...

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 with its original settings. This component ...
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 and secured ...
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 gather ...
Page: Camel 1.0.0 Release
http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.1.0 Release
http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.2.0 Release
http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.3.0 Release
http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.4.0 Release
Camel 1.4.0 release !http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.5.0 Release
Camel 1.5.0 release !http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.6.0 Release
Camel 1.6.0 release !http://activemq.apache.org/camel/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.6.1 Release
Camel 1.6.1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.6.2 Release
Camel 1.6.2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 1.6.3 Release
Camel 1.6.3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 1.6.3 release which approx 39 issues resolved (new features, improvements and bug fixes such as...) Use UTF8 as the default charset Locale independent upper case ...
Page: Camel 1.6.4 Release
Camel 1.6.4 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 1.6.4 release that includes 7 issues resolved. This is the last release of the camel1.x branch. Message content redelivered asynchronously by DLC is now rereadable Aggregator Exception thrown ...
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 http://issues.apache.org/activemq/secure/IssueNavigator.jspa?reset=true&pid=11020&fixfor=11900 Main features ...
Page: Camel 2.0-M1 Release
Camel 2.0M1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the first milestone 2.0M1 release of the new Apache Camel project, including 368 issues resolved (new features, improvements and bug fixes such as...) Introduced type converter ...
Page: Camel 2.0-M2 Release
Camel 2.0M2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 2.0M2 release which approx 222 issues resolved (new features, improvements and bug fixes such as...) Introduced type converter registry Type Converter to allow end ...
Page: Camel 2.0-M3 Release
Camel 2.0M3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 2.0M3 release which approx 109 issues resolved (new features, improvements and bug fixes such as...) Complete removal of specialized Exchange using generics Performance improvements ...
Page: Camel 2.0.0 Release
Camel 2.0.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 Type Converter to allow end ...
Page: Camel 2.1.0 Release
Camel 2.1.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.10.0 Release
Camel 2.10.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.10.1 Release
Camel 2.10.1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.10.2 Release
Camel 2.10.2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.10.3 Release
Camel 2.10.3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.10.4 Release
Camel 2.10.4 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.11.0 Release
Camel 2.11.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 RX provides a typesafe and composable API for working ...
Page: Camel 2.12.0 Release
Camel 2.12.0 release (currently in progress) !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.2.0 Release
Camel 2.2.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
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 ...
Page: Camel 2.3 - ThreadPool Configuration
Design Notes for ThreadPool Configuration CAMEL1588 https://issues.apache.org/activemq/browse/CAMEL1588 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 ...
Page: Camel 2.3.0 Release
Camel 2.3.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 Threading Model and introducing {{threadPoolProfile}} to define ...
Page: Camel 2.4.0 Release
Camel 2.4.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.5.0 Release
Camel 2.5.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.6.0 Release
Camel 2.6.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
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 Camel 3.0 Ideas ...
Page: Camel 2.7.0 Release
Camel 2.7.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.7.1 Release
Camel 2.7.1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 2.7.1 patch release which approx 12 issues resolved (improvements and bug fixes such as...) upgrade to paxexam 1.2.4 upgrade to Jackson 1.7.5 upgrade to sl4j 1.6.1 ...
Page: Camel 2.7.2 Release
Camel 2.7.2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 camelweb console ...
Page: Camel 2.7.3 Release
Camel 2.7.3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.7.4 Release
Camel 2.7.4 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.7.5 Release
Camel 2.7.5 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.8.0 Release
Camel 2.8.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.8.1 Release
Camel 2.8.1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.8.2 Release
Camel 2.8.2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.8.3 Release
Camel 2.8.3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.8.4 Release
Camel 2.8.4 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.8.5 Release
Camel 2.8.5 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.8.6 Release
Camel 2.8.6 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
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 {{camelcore}} and other Components where Spring is not really needed. Background In {{camelcore}} we support Spring JMX annotations when we ...
Page: Camel 2.9.0 Release
Camel 2.9.0 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel 2.9.1 Release
Camel 2.9.1 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.2 Release
Camel 2.9.2 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.3 Release
Camel 2.9.3 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.4 Release
Camel 2.9.4 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.5 Release
Camel 2.9.5 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.6 Release
Camel 2.9.6 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
Page: Camel 2.9.7 Release
Camel 2.9.7 release !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 https://issues.apache.org/jira/secure/ReleaseNote.jspa ...
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 camelcore as the {{org.apache.camel.impl.DefaultDebugger}}. Enabling You can enable the debugger ...
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/tuningexperiment/ https ...
Page: Camel 3.0 - Ideas
Camel 3.0 Ideas Camel is now almost 6 years old and its second revision camel2.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 ...
Page: Camel 3.0 - Introduce an API for components
Currently each component needs to depend on the camelcore. 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 implementation as possible. Optionally we ...
Page: Camel 3.0 - Message Store
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 initial brainstorming ...
Page: Camel 3.0 - Roadmap
Camel 3.0 Roadmap This page contains a summary of the ideas Camel 3.0 Ideas planned for the camel3.0.0 release. Tasks for camel2.x (prepare) Improve the test api for testing components (jwcarman) See CAMEL6029 https://issues.apache.org/jira/browse/CAMEL6029. No matter what ...
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 http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html (JSSE) API in order to greatly simplify the use of custom ...
Page: Camel CXF Design
Camel CXF Design Integrating CXF into Camel Camel provides a component API , after defined the endpoint URI format CXF, we just need implement the Camel component API by using CXF as a library to create the client and server for camelcxf ...
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 Camel Embedded Maven Goal, it will boot up your Spring configuration but it will only ...
Page: Camel DSL
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. Languages Java DSL ...
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 Camel Run Maven Goal. Though ...
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. camelcore dependencies for Camel 2.0 or lower commonsloggingapi.jar API for commons logging JAXB 2.1.x XML stuff Is provided in the JDK core from Java 1.6 ...
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 ...
Page: Camel Maven Archetypes
Camel Maven Archetypes Camel is distributed with the following archetypes for Maven end users. Archetype Supported Archetype Description camelarchetypeactivemq This archetype is used to create a new Maven project for Camel routes with Apache ActiveMQ embedded. camelarchetypeblueprint Camel 2.8: This archetype ...
Page: Camel Maven Plugin
Camel Maven Plugin The Camel Maven Plugin http://activemq.apache.org/camel/maven/mavenplugins/camelmavenplugin/plugininfo.html allows you to run your Enterprise Integration Patterns using Spring for Dependency Injection inside Maven along with being able to support ...
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/camelexamplespring mvn ...
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 options ...
Page: Camel Test
Camel Test As a simple alternative to using Spring Testing or Guice the cameltest module was introduced so you can perform powerful Testing of your Enterprise Integration Patterns easily. The {{cameltest}} JAR is using JUnit. There is an alternative {{cameltestng}} JAR ...
Page: Camel Transport for CXF
What's the Camel Transport for CXF In CXF you offer or consume a webservice by defining it´s 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 will be offered using ...
Page: Camel x.y.z Release (template)
Camel x.y.z release (currently in progress) !http://camel.apache.org/download.data/camelboxv1.0150x200.png! 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 ...
Page: Camel-Core
page is work in progress. The layering is probably not yet correct Camelcore 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 Description builder The Camel Domain Specific ...
Page: camel-eclipse
cameleclipse Available as of Camel 2.3 The cameleclipse 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 this. The resolver is provided in the class {{org.apache.camel.component.eclipse.EclipsePackageScanClassResolver ...
Page: camel-jboss
cameljboss Available as of Camel 2.1 The cameljboss 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 to remedy this. If you are using ...
Page: CamelContext
CamelContext The CamelContext http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/CamelContext.html represents a single Camel routing rulebase. You use the CamelContext in a similar way to the Spring ApplicationContext http://static.springsource.org/spring/docs/3.0.x/javadocapi ...
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 ...
Page: Castor
Castor Available as of Camel 2.1 Castor is a Data Format which uses the Castor XML library http://www.castor.org/ to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload. As usually you can use ...
Page: CDI
Camel CDI As of 2.10 we now have support Contexts and Dependency Injection JSR299 http://jcp.org/en/jsr/detail?id=299 and Dependency Injection for Java JSR330 http://jcp.org/en/jsr/detail?id=330 as a dependency ...
Page: CEP
Camel CEP Complex Event Processing http://en.wikipedia.org/wiki/Complexeventprocessing or Event Stream Processing http://en.wikipedia.org/wiki/Eventstreamprocessing are approaches of processing streams of events, usually from multiple sources. One approach to CEP with Camel is to use the Esper ...
Page: Claim Check
Claim Check The Claim Check http://www.enterpriseintegrationpatterns.com/StoreInLibrary.html from the EIP patterns Enterprise Integration 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 ...
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 ...
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 ...
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 servers will be configured (master ...
Page: CMIS
CMIS Component Available as of Camel 2.11 The cmis component uses the Apache Chemistry http://chemistry.apache.org/java/opencmis.html client API and allows you to add/read nodes to/from a CMIS compliant content repositories. URI Format cmis://cmisServerUrl ...
Page: Code Walkthrough
Code Walkthrough The main module to get to grips with is the camelcore http://camel.apache.org/maven/current/camelcore/apidocs/index.html module which defines the core APIs and the DSL. Often developers pick up libraries by looking at test cases. Probably the best ...
Page: Cometd
Cometd Component The cometd: component is a transport for working with the jetty http://www.mortbay.org/jetty implementation of the cometd/bayeux protocol http://docs.codehaus.org/display/JETTY/Cometd%28akaBayeux%29. Using this component in combination with the dojo toolkit library it's possible to push Camel ...
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 definitely encouraged to update this page ...
Page: Common Problems
Common Problems that people have when riding the Camel
Page: Community
Page: Competing Consumers
Competing Consumers Camel supports the Competing Consumers http://www.enterpriseintegrationpatterns.com/CompetingConsumers.html from the EIP patterns Enterprise Integration Patterns using a few different components. !http://www.enterpriseintegrationpatterns.com/img/CompetingConsumers.gif! You can use the following components to implement competing ...
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 autodiscovered using URIs
Page: Component List
Component / ArtifactId / URI Description AHC / camelahc ahc:hostname:port To call external HTTP services using Async Http Client http://github.com/sonatype/asynchttpclient AMQP / camelamqp amqp:topic:destinationName For Messaging with AMQP protocol http ...
Page: Component List External
Component / ArtifactId / URI License Description ActiveMQ / activemqcamel activemq:topic:destinationName Apache For JMS Messaging with Apache ActiveMQ http://activemq.apache.org/ The most popular and powerful open source message broker ActiveMQ Journal / activemqcore activemq.journal:directoryonfilesystem Apache ...
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 components to create new endpoints, edit existing ...
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 ...
Page: Composed Message Processor
Composed Message Processor The Composed Message Processor http://www.enterpriseintegrationpatterns.com/DistributionAggregate.html from the EIP patterns Enterprise Integration Patterns allows you to process a composite message by splitting it up, routing the submessages to appropriate destinations and the reaggregating the responses back into a single ...
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 {{shouldStartContext ...
Page: Console Example
Console Example Available as of Camel 2.10 This example is located in the Camel distribution Download at {{examples/camelexampleconsole}}. This is a beginner's example that demonstrates how to get started with Apache Camel. In this example we integrate with the console using the Stream component. The example is interactive it reads ...
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"/> <setHeader ...
Page: Content Based Router
Content Based Router The Content Based Router http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html from the EIP patterns Enterprise Integration Patterns allows you to route messages to the correct destination based on the contents of the message exchanges. !http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif! The following ...
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 between diverse ...
Page: Content Enricher
Content Enricher Camel supports the Content Enricher http://www.enterpriseintegrationpatterns.com/DataEnricher.html from the EIP patterns Enterprise Integration Patterns using a Message Translator, an arbitrary Processor in the routing logic, or using the enrich #enrichdsl DSL element to enrich the message ...
Page: Content Filter
Content Filter Camel supports the Content Filter http://www.enterpriseintegrationpatterns.com/ContentFilter.html from the EIP patterns Enterprise Integration Patterns using one of the following mechanisms in the routing logic to transform content from the inbound message. Message Translator invoking a Java ...
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 from other ...
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 ...
Page: Contributing
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 ...
Page: ControlBus
ControlBus The Control Bus http://www.eaipatterns.com/ControlBus.html from the EIP patterns Enterprise Integration Patterns allows for the integration system to be monitored and managed from within the framework. !http://www.eaipatterns.com/img/ControlBus.gif! Use a Control Bus to manage an enterprise ...
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 ControlBus EIP pattern. For example by sending a message to an Endpoint you can control the lifecycle of routes, or gather performance ...
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 Description ...
Page: Cookbook
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 ...
Page: Correlation Identifier
Correlation Identifier Camel supports the Correlation Identifier http://www.enterpriseintegrationpatterns.com/CorrelationIdentifier.html from the EIP patterns Enterprise Integration 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 ...
Page: CouchDB
Camel CouchDB component Available as of Camel 2.11 The couchdb: component allows you to treat CouchDB http://couchdb.apache.org/ instances as a producer or consumer of messages. Using the lightweight LightCouch API, this camel component has the following features: As a consumer, monitors couch ...
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=camelarchetypecomponent \ DarchetypeVersion=2.9.0 \ DgroupId=myGroupId \ DartifactId ...
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=camelarchetypespring \ DarchetypeVersion=1.5.0 \ DgroupId=myGroupId ...
Page: CronScheduledRoutePolicy
CronScheduledRoutePolicy Available as of Camel version 2.6 CronScheduledRoutePolicy is a ScheduledRoutePolicy that facilitates route activation, deactivation, suspension and resumption of routes based on a Quartz {{CronTrigger}}. Maven users will need to add a camelquartz dependency to their {{pom.xml}} to avail this capability. <dependency> <groupId>org.apache.camel</groupId ...
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 formatting mechanism. It assumes ...
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 concert to create a signature for an ...
Page: CSV
CSV The CSV Data Format uses Apache Commons CSV http://commons.apache.org/proper/commonscsv/ to handle CSV payloads (Comma Separated Values) such as those exported/imported by Excel. Options Option Type Description config CSVConfig Can be used ...
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: And to use it in Java DSL ...
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 ...
Page: CXF
CXF Component When using CXF as a consumer, the CAMEL: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 ...
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 cameljetty Jetty implements this to the fullest as its {{JettyHttpProducer}} supports non blocking request/reply ...
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 JAXRS, JAXWS(new to camel2.1) annotated service bean.) {{CxfBeanEndpoint}} is a {{ProcessorEndpoint}} so it has ...
Page: CXF Example
CXF Example CXF example for routing messages with different transports The Camel CXF example http://svn.apache.org/viewvc/camel/trunk/examples/camelexamplecxf/src/main/java/org/apache/camel/example/cxf/httptojms/CamelCxfExample.java?view=markup ...
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 ...
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 SpringDM. A simple example which receives web service calls (via a CXF consumer, using bean ...
Page: CXF Proxy Example
CXF Proxy Example This example is located in the {{examples/camelexamplecxfproxy}} 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 camel:run About ...
Page: CXF Tomcat Example
CXF Tomcat Example Available as of Camel 2.5 This example is located in the {{examples/camelexamplecxftomcat}} 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 example from the command line: mvn ...
Page: CXFRS
CXFRS Component When using CXF as a consumer, the CAMEL: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 ...

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 Type Converters: Dozer Type Conversion Unmarshalling ...
Page: Data Format List
Standard JVM object marshalling Serialization String Object marshalling Avro avro JSON Protobuf Object/XML marshalling Castor JAXB XmlBeans XStream JiBX Object/XML/Webservice marshalling SOAP Direct JSON / XML marshalling XmlJson ...
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, openjpa or toplink. When consuming ...
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 http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/component/dataset ...
Page: Db4o
Db4o Component Available as of Camel 2.5 The db4o: component allows you to work with db4o http://www.db4o.com NoSQL database. The cameldb4o library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts all GPL related ...
Page: Dead Letter Channel
Dead Letter Channel Camel supports the Dead Letter Channel http://www.enterpriseintegrationpatterns.com/DeadLetterChannel.html from the EIP patterns Enterprise Integration Patterns using the DeadLetterChannel http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/processor/DeadLetterChannel.html ...
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 breakpoints at points in a route ...
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. That is the only difference between the two of them. The default error handler is configured differently ...
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 the route path ...
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 ...
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 libraries available at the time of writing ...
Page: Design Notes
following section contains design notes of the Apache Camel components
Page: Detour
Detour The Detour http://www.enterpriseintegrationpatterns.com/Detour.html from the EIP patterns Enterprise Integration 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 ...
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 asynchronous invocation of any ...
Page: Direct-VM
Direct VM Component Available as of Camel 2.10 The directvm: 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 context, as well ...
Page: Discussion Forums
Discussion Forums Before posting you might want to read the Tips for getting help http://activemq.apache.org/tipsforgettinghelp.html. Many users prefer to use online forums rather than joining a mail list which can lead to lots more ...
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 http://www.xbill.org/dnsjava/. The component offers the following operations: ip, to resolve a domain by its ip ...
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 have created excellent ...
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 camelhttp You may get a sun.io.MalformedInputException when using camelhttp on IBM's ...
Page: Download
Latest Releases !http://camel.apache.org/images/camelboxsmall.png! Grab these releases while they are hot! The latest release for Camel 2.11.x is Camel 2.11.0 Release. The latest release for Camel 2.10.x is Camel 2.10.4 Release. The latest release for Camel 2.9.x is Camel 2.9.7 ...
Page: Download Archives
Download archives You can use the Apache Archives to download all the Camel releases. http://archive.apache.org/dist/camel/apachecamel/ All release since Camel became a top level Apache project http://archive.apache.org/dist/activemq/apachecamel ...
Page: Dozer Type Conversion
Dozer Type Conversion. Dozer http://dozer.sourceforge.net/documentation/about.html 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 ...
Page: DSL
DSL Camel uses a Java Domain Specific Language or DSL for creating Enterprise Integration Patterns or Routes in a variety of domainspecific languages (DSL) as listed below. Java DSL A Java based DSL using the fluent builder style. Spring XML ...
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>> <<if the example would ...
Page: Durable Subscriber
Durable Subscriber Camel supports the Durable Subscriber http://www.enterpriseintegrationpatterns.com/DurableSubscription.html from the EIP patterns Enterprise Integration Patterns using the JMS component which supports publish & subscribe using Topics with support for nondurable and durable subscribers. !http://www.enterpriseintegrationpatterns.com ...
Page: Dynamic Router
Dynamic Router The Dynamic Router http://www.enterpriseintegrationpatterns.com/DynamicRouter.html from the EIP patterns Enterprise Integration Patterns allows you to route messages while avoiding the dependency of the router on all possible destinations while maintaining its efficiency. !http://www.enterpriseintegrationpatterns.com ...
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 { @Consume(uri ...

E

Page: EDI
EDI DataFormat We encourage end users to look at the Smooks http://milyn.codehaus.org/Home 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>camelejb</artifactId> <version>x.x.x</version ...
Page: EL
EL Camel supports the unified JSP and JSF Expression Language via the JUEL http://juel.sourceforge.net/ 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 ...
Page: ElasticSearch
ElasticSearch Component Available as of Camel 2.11 The ElasticSearch component allows you to interface with an ElasticSearch http://elasticsearch.org server. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelelasticsearch</artifactId ...
Page: Endpoint
Endpoints Camel supports the Message Endpoint pattern using the Endpoint http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Endpoint.html interface. Endpoints are usually created by a Component and Endpoints are usually referred to in the DSL via their URIs. From ...
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 camelpackagemavenplugin (rather like maven plugin goals get their parameters documented automatically). The documentation is then included into the jar as org ...
Page: Endpoint See Also
See Also Configuring Camel Component Endpoint Getting Started
Page: Enterprise Integration Patterns
Enterprise Integration Patterns Camel supports most of the Enterprise Integration Patterns http://www.eaipatterns.com/toc.html from the excellent book by Gregor Hohpe http://www.amazon.com/exec/obidos/searchhandleurl/10597967988100401?%5Fencoding=UTF8&searchtype=ss&index=books&fieldauthor=Gregor%20Hohpe and Bobby ...
Page: Error Handler
Error Handler Camel supports pluggable ErrorHandler http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/processor/ErrorHandler.html strategies to deal with errors processing an Event Driven Consumer. An alternative is to specify the error handling ...
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 outofthebox and handled by Camel itself. The transaction type is handled by a backing ...
Page: Esper
Esper The Esper component supports the Esper Library http://esper.codehaus.org for Event Stream Processing. The camelesper library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts all GPL related components for Camel. URI format ...
Page: ETL
Extract Transform Load (ETL) The ETL http://en.wikipedia.org/wiki/Extract,transform,load (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 ...
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
Event Component The 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 Patterns to process them such as Message Filter. URI format ...
Page: Event Driven Consumer
Event Driven Consumer Camel supports the Event Driven Consumer http://www.enterpriseintegrationpatterns.com/EventDrivenConsumer.html from the EIP patterns Enterprise Integration Patterns. The default consumer model is event based (i.e. asynchronous) as this means that the Camel container can then manage pooling ...
Page: Event Message
Event Message Camel supports the Event Message http://www.enterpriseintegrationpatterns.com/EventMessage.html from the EIP patterns Enterprise Integration 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 ...
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> <groupId>org.apache.camel</groupId ...
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 ...
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 ...
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.factory.BeanDefinitionStoreException: Unrecognized xbean ...
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 like this java Caused by: javax.naming.NoInitialContextException: Need ...
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 JAR files to the classpath. An example: If you try ...
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 &amp; is used to separate the parameters. However, &amp; also is a reserved character in XML. Because of this, you have to replace all &amp; in your URIs ...
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 ...
Page: Exchange
Message Exchange To support various message exchange patterns Exchange Pattern like one way Event Message and Request Reply messages Camel uses an Exchange http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel ...
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 way) In Camel ...
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>camelexec</artifactId> <version>$ </version> </dependency ...
Page: Expression
Expressions Expressions and Predicates Predicate can then be used to create the various Enterprise Integration Patterns Enterprise Integration Patterns in the DSL or Xml Configuration like the Recipient List. To support dynamic rules Camel supports pluggable Expression http://camel.apache.org/maven ...

F

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 Discussion Forums. We welcome contributions http://activemq.apache.org/contributing.html and this entire website is a wiki that you can ...
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 ...
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 Where ...
Page: Fine Grained Control Over a Channel
Introduction When sending an Exchange to an Endpoint you can either use a Route Routes 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 ...
Page: Flatpack
Flatpack Component The Flatpack component supports fixed width and delimited file parsing via the FlatPack library http://flatpack.sourceforge.net. Notice: This component only supports consuming from flatpack files to Object model. You can not (yet) write from ...
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 to {{String ...
Page: Fluent Builders
Fluent Builders Camel provides fluent builders for creating routing and mediation rules using a typesafe IDE friendly way which provides smart completion and is refactoring safe. For more information see Java Domain Specific Language DSL Xml ...
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 http://xmlgraphics.apache.org/fop/index.html. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency ...
Page: FreeMarker
FreeMarker The freemarker: component allows for processing a message using a FreeMarker http://freemarker.org/ 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 component: <dependency> <groupId>org.apache.camel ...
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(String uri ...
Page: FTP
Page: FTP Example
FTP Example Available as of Camel 2.11 This example is located in the {{examples/camelexampleftp}} 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 download files to/from an existing FTP ...
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> <artifactId>camelftp</artifactId> <version ...

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 TutorialOAuth demonstrates how to implement OAuth http://oauth.net/ in web applications. The Camel components for Google ...
Page: gauth
gauth}} Component Available in Camel 2.3 The {{gauth}} component is used by web applications to implement a Googlespecific OAuth http://code.google.com/apis/accounts/docs/OAuth.html consumer. It will be later extended to support other OAuth http://oauth.net/ providers as well. Although ...
Page: General Questions
General questions about Camel
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 ...
Page: ghttp
ghttp}} Component Available as of Camel 2.1 The {{ghttp}} component contributes to the Camel Components for Google App Engine GAE (GAE). It provides connectivity to the GAE URL fetch service http://code.google.com/appengine/docs/java/urlfetch/ but can also be used ...
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 GAE. Securityenabled GAE applications gsec ...
Page: gmail
gmail}} Component Available as of Camel 2.1 The {{gmail}} component contributes to the Camel Components for Google App Engine GAE (GAE). It supports sending of emails via the GAE mail service http://code.google.com/appengine/docs/java/mail/. Receiving mails ...
Page: Google SummerOfCode
Ideas for the Apache Sponsored GSoC2009 http://wiki.apache.org/general/SummerOfCode2009. 2009 Full support of the Camel DSL in Ruby and Python Camel provides an Enterprise Integration Patterns Domain Specific Language DSL which can be used from many languges ...
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 CamelContext to shutdown. This leaves the problem at hand with properly ...
Page: Groovy
Groovy Camel supports Groovy http://groovy.codehaus.org/ 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 could ...
Page: Groovy DSL
About the Groovy DSL The Groovy DSL implementation is built on top of the existing Javabased DSL, but it additionally allows to use Groovy language features in your routes, particularly Closures http://groovy.codehaus.org/Closures acting as Processor Processor, Expression Expression, Predicate ...
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 DSL have beensupported currently. What is Groovy Renderer Groovy Renderer is a component, which can translate ...
Page: gsec
Security for Camel GAE Applications Securing GAE applications from unauthorized access is described in the Security and Authentication http://code.google.com/appengine/docs/java/config/webxml.html#SecurityandAuthentication section of the Google App Engine documentation. Authorization constraints are declared in the web.xml ...
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 ...
Page: gtask
gtask}} Component Available as of Camel 2.1 The {{gtask}} component contributes to the Camel Components for Google App Engine GAE (GAE). It supports asynchronous message processing on GAE by using the task queueing service http://code.google.com/appengine/docs/java/taskqueue ...
Page: Guaranteed Delivery
Guaranteed Delivery Camel supports the Guaranteed Delivery http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html from the EIP patterns Enterprise Integration Patterns using among others the following components: File File2 for using file systems as a persistent store of messages JMS when ...
Page: Guava EventBus
Guava EventBus Component The Google Guava EventBus http://docs.guavalibraries.googlecode.com/git/javadoc/com/google/common/eventbus/packagesummary.html allows publishsubscribestyle communication between components without requiring the components to explicitly register with one another (and thus be aware of each ...
Page: Guice
Camel Guice We have support for Google Guice http://code.google.com/p/googleguice/ 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>camelguice</artifactId> <version ...
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 Guice Embedded Maven Goal ...
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 Guice Run Maven Goal. Though ...
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 Walk through an Example and the Spring Example but using Guice as the Dependency Injection framework. In this example we just write ...
Page: Guice Maven Plugin
Guice Maven Plugin The Guice Maven Plugin http://activemq.apache.org/camel/maven/mavenplugins/guicemavenplugin/plugininfo.html allows you to run your Enterprise Integration Patterns using Guice for Dependency Injection inside Maven along with being able to support ...
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/camelexampleguicejms ...
Page: GZip data format
GZip Data Format is a message compression and decompression 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 marshalled using GZip compression ...

H

Page: HawtDB
HawtDB Available as of Camel 2.3 HawtDB http://hawtdb.fusesource.org/ 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 Aggregator2. The HawtDB http://hawtdb.fusesource.org/ project is being deprecated ...
Page: Hazelcast Component
Hazelcast Component Available as of Camel 2.7 The hazelcast: component allows you to work with the Hazelcast http://www.hazelcast.com distributed data grid / cache. Hazelcast is a in memory data grid, entirely written in Java (single jar). It offers a great palette of different ...
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 nodes we ...
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.apache.camel</groupId> <artifactId>camelhbase</artifactId> <version ...
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 http://hadoop.apache.org. Maven users will need to add the following ...
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: In this case, the list of recipients are contained in the header 'myHeader'. And the same ...
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 camelhibernate library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts ...
Page: Hibernate Example
Hibernate Example Available as of Camel 2.11 This example is located in the {{examples/camelexamplehibernate}} directory of the Camel Extras http://camelextra.googlecode.com/ project. There is a {{README.txt}} file with instructions how to run it. The source code for this example can be viewed online at this link https://code.google.com/a/apacheextras.org ...
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 http://www.hl7.org/ using the HAPI library http://hl7api.sourceforge.net. This component supports the following: HL7 MLLP codec for Mina http://mina.apache.org/ Agnostic data ...
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 ...
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 ...
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 ...
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 camelcxf 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 ...
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 ...
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 camelcxf? See Apache CXF documentation about SOAP fault for debugging http://cxf.apache.org/docs/debuggingandlogging.html#DebuggingandLoggingSOAPFaultfordebugging
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 http://camel.apache.org/maven/current/camelcore/apidocs ...
Page: How do I become a committer
How can I become a committer First of all you need to get involved and Contribute Contributing via the mail list, forums, edit the documention, work on the issue tracker and submit patches. Once you're contributing and your work is good ...
Page: How do I change the logging
How do I change the logging We use commonslogging http://jakarta.apache.org/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 ...
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 Walk through an Example Or you can ...
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 ...
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.MAXIMUMCACHEPOOLSIZE}} property on {{CamelContext}}. getCamelContext().getProperties ...
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 ...
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 Download Tracer to trace in commonslogging / log4j each ...
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 in Spring ...
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 Contributing providing you are happy to license all your contributions under the Apache Software License version 2.0 http://www.apache.org/licenses/LICENSE2.0 ...
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 ...
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 ...
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 existing ...
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 ...
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 ...
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 ...
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 Transacted Consumption ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 {{DEBUG}} level as logging, it will log the messages and its content from time to time. As some messages ...
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(""timer ...
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 ...
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 ...
Page: How do I use Camel inside ServiceMix
How do I use Camel inside ServiceMix? See the Using Camel with ServiceMix tutorial http://servicemix.apache.org/3beginnerusingapachecamelinsideservicemix.html for an indepth walk through of using Camel to route inside the JBI based Normalized Message Bus
Page: How do I use dynamic URI in To
How do I use dynamic URI in To I want to use a dynamic URI when sending to an endpoint. How do I do that? For example where the template name is dynamic as shown below: to("freemarker://templateHome/$ .ftl") Use ...
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 commonslogging.properties file on the classpath with this entry... org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger Many thanks to Glen Mazza for figuring this out
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>commonslogging</groupId> <artifactId>commonslogging</artifactId ...
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.org ...
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 ...
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 ...
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 respectively ...
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 ...
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 ...
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 endpoint or web ...
Page: How does Camel compare to ServiceMix EIP
How does Camel compare to ServiceMix EIP ServiceMix EIP http://servicemix.apache.org/servicemixeip.html 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 ...
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 ...
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. Camel uses ...
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 ...
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 Components ...
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 http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Exchange.html and Message http ...
Page: How does the website work
How does the website work This website is actually rendered from the Wiki contents that you can edit How do I edit the website. When viewing a page on the static HTML website you can click on the edit link (bottom ...
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 ...
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 ?
you are using camelcxf 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 ...
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 ...
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 ...
Page: How to remove the http protocol headers in the camel message?
camel there are a number of components that use the http protocol headers to do their business. The components include camelhttp, cameljetty, camelrestlet, camelcxf, etc. If you are using these component, you may pay attention to the Http protocol headers: Exchange.CONTENTENCODING Exchange.CONTENTTYPE Exchange.HTTPBASEURI Exchange.HTTPCHARACTERENCODING ...
Page: How to run Camel in a osgi container
Run Camel With ServiceMix Kernel Apache ServiceMix Kernel http://http://servicemix.apache.org/SMX4KNL/index.html is a small OSGi based runtime which provides a lightweight container onto which various bundles can be deployed. Now you can deploy ...
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 ...
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 http://cxf.apache.org/docs/clienthttptransportincludingsslsupport.html A simple Camel CXF Consumer configuration which use the http:conduit configuration to enable SSL and an ...
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 ...
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 camelcore and camelspring components in the servicemixcamel by default. When the user ...
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 refect the URL ...
Page: HTTP
HTTP Component The http: component provides HTTP based endpoints Endpoint 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: <dependency> <groupId>org.apache.camel ...
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 cameljetty Jetty implements this to the fullest as its {{JettyHttpProducer}} supports non blocking request/reply ...
Page: HTTP4
HTTP4 Component Available as of Camel 2.3 The http4: component provides HTTP based endpoints Endpoint 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 this component ...

I

Page: iBATIS
iBATIS The ibatis: component allows you to query, poll, insert, update and delete data in a relational database using Apache iBATIS http://ibatis.apache.org/. The Apache iBatis project is no longer active. The project is moved outside Apache and is now know as the MyBatis ...
Page: Idempotent Consumer
Idempotent Consumer The Idempotent Consumer http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html from the EIP patterns Enterprise Integration Patterns is used to filter out duplicate messages. This pattern is implemented using the IdempotentConsumer http://camel.apache.org/maven/current/camelcore/apidocs/org/apache ...
Page: If I use ServiceMix when should I use Camel
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 http://servicemix.apache.org/ then you can use Camel implement the Enterprise ...
Page: Implementing Virtual Topics on other JMS providers
Implementing Virtual Topics on other JMS providers ActiveMQ http://activemq.apache.org/ supports Virtual Topics http://activemq.apache.org/virtualdestinations.html since durable topic subscriptions kinda suck (see this page for more detail http://activemq.apache.org/virtualdestinations.html) mostly since ...
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\! Download !http://camel.apache.org/images/camelboxsmall.png alt=Camel Box! News RSS Feed https://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&spaces=CAMEL&title=ApacheCamelNews&sort=modified&maxResults=10&timeSpan=60&showContent=true&confirm=CreateRSSFeed Links Getting ...
Page: Injector
Injector The Injector http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/spi/Injector.html is a pluggable strategy to any IoC container such as Spring or Guice to be able to create and dependencyinject objects of a certain type. For example if you are using the Inversion ...
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 intercepts each and every ...
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 everything together using an IoC ...
Page: IRC
IRC Component The irc component implements an IRC http://en.wikipedia.org/wiki/InternetRelayChat (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>camelirc</artifactId ...
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://irc.codehaus.org/camel IRC Log http://irclogs.dankulp.com ...
Page: Is Camel an ESB
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 http ...
Page: Is Camel IoC friendly
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
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 Routes via the DSL which will give you ...

J

Page: Jasypt
Jasypt component Available as of Camel 2.5 Jasypt http://www.jasypt.org/ 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 {{cameljasypt}} on the classpath those encrypted ...
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 ...
Page: JavaDoc
JavaDoc The core API is defined in the camelcore javadoc http://camel.apache.org/maven/current/camelcore/apidocs/index.html. The spring API is defined in the camelspring javadoc http://camel.apache.org/maven/current/camelspring/apidocs/index.html. See Also Architecture Getting Started
Page: JavaScript
JavaScript Camel supports JavaScript/ECMAScript http://en.wikipedia.org/wiki/JavaScript 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("someJavaScriptExpression ...
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 http://www.dancres.org/blitz/ and the GigaSpace implementation http://www.gigaspaces.com/. This component can be used ...
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 ...
Page: JBI
JBI Component The jbi component is implemented by the ServiceMix Camel module http://servicemix.apache.org/servicemixcamel.html and provides integration with a JBI Normalized Message Router, such as the one provided by Apache ServiceMix http://servicemix.apache.org/. See below for information about how to use {{StreamSource ...
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 ...
Page: jclouds
Jclouds Component Available as of Camel 2.9 This component allows interaction with cloud provider keyvalue engines (blobstores) and compute services. The component uses jclouds http://code.google.com/p/jclouds which is a library that provides abstractions for blobstores and compute services. ComputeService ...
Page: JCR
JCR Component The {{jcr}} component allows you to add/read nodes to/from a JCR compliant content repository (for example, Apache Jackrabbit http://jackrabbit.apache.org/) with its producer, or register an EventListener with the consumer. Maven users will need to add the following ...
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 springjdbc. Maven ...
Page: Jetty
Jetty Component The jetty component provides HTTPbased endpoints Endpoint 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 ...
Page: JGroups
JGroups Component JGroups http://www.jgroups.org 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}} for this component: <dependency> <groupId>org.apacheextra.camel ...
Page: JiBX
JiBX Available as of Camel 2.6 JiBX is a Data Format which uses the JiBX library http://jibx.sourceforge.net 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 ...
Page: Jing
Jing Component The Jing component uses the Jing Library http://www.thaiopensource.com/relaxng/jing.html to perform XML validation of the message body using either RelaxNG XML Syntax http://relaxng.org/ RelaxNG Compact Syntax http://relaxng.org/compacttutorial20030326.html Maven ...
Page: JMS
JMS Component If you are using Apache ActiveMQ http://activemq.apache.org/, 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 Levels ...
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 according to the schema provided within ...
Page: JMX Component Example
JMX Component Example Available as of Camel 2.6 The example is included in the distribution at {{examples/camelexamplejmx}}. 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 update method on an MBean ...
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 http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/impl/JndiRegistry.html which uses ...
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 ...
Page: Jsch
Jsch The cameljsch component supports the SCP protocol http://en.wikipedia.org/wiki/Securecopy using the Client API of the Jsch http://www.jcraft.com/jsch/ project. Jsch is already used in camel by the FTP component for the sftp: protocol. Maven users will need to add ...
Page: JSON
JSON JSON is a Data Format to marshal and unmarshal Java objects to and from JSON http://www.json.org/. For JSON to object marshalling, Camel provides integration with three popular JSON libraries: The XStream library http://xstream.codehaus.org/ and Jettsion http://jettison.codehaus.org/ The Jackson ...
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> <artifactId>cameljt400</artifactId> <version ...
Page: JXPath
JXPath Camel supports JXPath http://commons.apache.org/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 ...

K

Page: Karaf
Karaf Support Apache Camel is designed to work nicely into Apache Karaf http://karaf.apache.org OSGi container. It includes: Camel features descriptor allowing to easily and quickly install Camel in Karaf. Karaf commands allowing you to view, start, stop ...
Page: Kestrel
Kestrel Component The Kestrel component allows messages to be sent to a Kestrel https://github.com/robey/kestrel queue, or messages to be consumed from a Kestrel queue. This component uses the spymemcached http://code.google.com/p/spymemcached/ client for memcached protocol communication with Kestrel ...
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 readwriteintensive applications with little effort ...

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 capabilities. For example ...
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 DSL or the Xml Configuration. When creating predicates (expressions that evaluate to {{true ...
Page: Languages Supported
Bean Language for using Java for expressions Constant the unified EL from JSP and JSF Header JXPath Mvel OGNL Ref Language Property Scripting Languages such as BeanShell JavaScript Groovy Python PHP Ruby Simple File Language Spring ...
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 their {{pom.xml}} for this component ...
Page: Lifecycle
Camel Lifecycle Camel uses a simple lifecycle interface called Service http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Service.html which has a single start() and stop() method. Various classes implement Service such as CamelContext ...
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 browsed. URI format list:someName ...
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 ...
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. Builtin load balancing policies Camel provides the following policies outofthebox: Policy Description Round Robin ...
Page: LoadBalancing Mina Example
Load balancing using Mina example This example shows how you can easily use the CamelMINA component to design a solution allowing for distributing message workload onto several servers. These servers are simple TCP/IP servers created by the Apache ...
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. You can define Camel routes in XML files using the {{<routes>}} tag ...
Page: Loan Broker Example
Loan Broker Example This example shows how to use Camel to implement the EIP's loan broker example http://www.enterpriseintegrationpatterns.com/ComposedMessagingExample.html. The example has two versions,one for JMS, one for webservice one. The JMS version which leverages the message ...
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 following format, {{?option ...
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 ...
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 iteration will be used ...
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 highperformance, fullfeatured text search engine library written entirely in Java. For more details about Lucene, please ...

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</groupId> <artifactId>camelmail</artifactId> <version ...
Page: Mailing Lists
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 ...
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 Camel JMX we did. The example is included in the distribution at {{examples/camelexamplemanagement}}. It contains a {{README.txt}} file with details ...
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.11.x http://camel.apache.org/manual/camelmanual2.11.0.pdf ...
Page: Manual Downloads
Page: MDC logging
MDC logging Available as of Camel 2.7 In Camel 2.7 we migrated to use slf4j http://www.slf4j.org/ as the logging framework in Camel. This allows us to support MDC logging http://www.slf4j.org/api/org/slf4j/MDC.html. See more details about ...
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 Camel JMX may take up memory when routes is added. As Camel cannot 100% reclaim all ...
Page: Merging commits from trunk to fixes branch
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 and 2.9.x ...
Page: Message
Message Camel supports the Message http://www.enterpriseintegrationpatterns.com/Message.html from the EIP patterns Enterprise Integration Patterns using the Message http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Message.html interface. !http://www.enterpriseintegrationpatterns.com/img/MessageSolution.gif ...
Page: Message Bus
Message Bus Camel supports the Message Bus http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html from the EIP patterns Enterprise Integration Patterns. You could view Camel as a Message Bus itself as it allows producers and consumers to be decoupled. !http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif ...
Page: Message Channel
Message Channel Camel supports the Message Channel http://www.enterpriseintegrationpatterns.com/MessageChannel.html from the EIP patterns Enterprise Integration Patterns. The Message Channel is an internal implementation detail of the Endpoint http://camel.apache.org/maven/current/camelcore/apidocs/org/apache ...
Page: Message Dispatcher
Message Dispatcher Camel supports the Message Dispatcher http://www.enterpriseintegrationpatterns.com/MessageDispatcher.html from the EIP patterns Enterprise Integration Patterns using various approaches. !http://www.enterpriseintegrationpatterns.com/img/MessageDispatcher.gif! You can use a component like JMS with selectors to implement ...
Page: Message Endpoint
Message Endpoint Camel supports the Message Endpoint http://www.enterpriseintegrationpatterns.com/MessageEndpoint.html from the EIP patterns Enterprise Integration Patterns using the Endpoint http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Endpoint.html interface. !http://www.enterpriseintegrationpatterns.com ...
Page: Message Filter
Message Filter The Message Filter http://www.enterpriseintegrationpatterns.com/Filter.html from the EIP patterns Enterprise Integration Patterns allows you to filter messages !http://www.enterpriseintegrationpatterns.com/img/MessageFilter.gif! The following example shows how to create a Message Filter route consuming ...
Page: Message History
Message History The Message History http://www.eaipatterns.com/MessageHistory.html from the EIP patterns Enterprise Integration Patterns allows for analyzing and debugging the flow of messages in a loosely coupled system. !http://www.eaipatterns.com/img/MessageHistory.gif! Attaching a Message History to the message will provide ...
Page: Message Router
Message Router The Message Router http://www.enterpriseintegrationpatterns.com/MessageRouter.html from the EIP patterns Enterprise Integration Patterns allows you to consume from an input destination, evaluate some predicate then choose the right output destination. !http://www.enterpriseintegrationpatterns.com/img ...
Page: Message Translator
Message Translator Camel supports the Message Translator http://www.enterpriseintegrationpatterns.com/MessageTranslator.html from the EIP patterns Enterprise Integration Patterns by using an arbitrary Processor in the routing logic, by using a bean Bean Integration to perform the transformation, or by using transform() in the DSL ...
Page: Messaging Gateway
Messaging Gateway Camel has several endpoint components that support the Messaging Gateway http://www.enterpriseintegrationpatterns.com/MessagingGateway.html from the EIP patterns Enterprise Integration Patterns. !http://www.enterpriseintegrationpatterns.com/img/MessagingGatewaySolution.gif! Components like Bean and CXF provide a a way to bind ...
Page: Messaging Mapper
Messaging Mapper Camel supports the Messaging Mapper http://www.enterpriseintegrationpatterns.com/MessagingMapper.html from the EIP patterns Enterprise Integration Patterns by using either Message Translator pattern or the Type Converter module. !http://www.enterpriseintegrationpatterns.com/img/MessagingMapperClassDiagram.gif! See also Message ...
Page: MINA
MINA Component The mina: component is a transport for working with Apache MINA http://mina.apache.org/ Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelmina</artifactId> <version>x.x.x</version> <! use the same ...
Page: Mock
Mock Component The Mock component provides a powerful declarative testing mechanism, which is similar to jMock http://jmock.org 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 messages ...
Page: MongoDB
Camel MongoDB component Available as of Camel 2.10 According to Wikipedia: "NoSQL is a movement promoting a loosely defined class of nonrelational data stores that break with a long history of relational databases and ACID guarantees." NoSQL solutions have grown in popularity in the last ...
Page: MQTT
MQTT Component Available as of Camel 2.10 The mqtt: component is used for communicating with MQTT http://mqtt.org compliant message brokers, like Apache ActiveMQ http://activemq.apache.org or Mosquitto http://mosquitto.org Camel will poll the feed every 60 seconds by default ...
Page: MSV
MSV Component The MSV component performs XML validation of the message body using the MSV Library https://msv.dev.java.net/ and any of the supported XML schema languages, such as XML Schema http://www.w3.org/XML/Schema or RelaxNG XML Syntax http://relaxng.org ...
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 will not modify the request message. Options Name Default Value ...
Page: Mvel
Mvel Camel allows Mvel http://mvel.codehaus.org/ 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 ...
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 http://mybatis.org/. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId ...

N

Page: Nagios
Nagios Available as of Camel 2.3 The Nagios component allows you to send passive checks to Nagios http://nagios.org. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelnagios</artifactId> <version ...
Page: Navigation
Overview Home Index Download Getting Started FAQ Documentation User Guide Manual Books Tutorials Examples Cookbook Architecture Enterprise Integration Patterns DSL Components Data Format Languages Security Search <form action="http://www.google.com ...
Page: Netty
Netty Component Available as of Camel 2.3 The netty component in Camel is a socket communication component, based on the Netty http://netty.io/ project. Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers ...
Page: News
News
Page: NMR
NMR Component The nmr component is an adapter to the Normalized Message Router (NMR) in ServiceMix http://servicemix.apache.org/home.html, which is intended for use by Camel applications deployed directly into the OSGi container. You can exchange objects with NMR and not only XML ...
Page: Normalizer
Normalizer Camel supports the Normalizer http://www.enterpriseintegrationpatterns.com/Normalizer.html from the EIP patterns Enterprise Integration Patterns by using a Message Router in front of a number of Message Translator instances. !http://www.enterpriseintegrationpatterns.com/img/NormalizerDetail.gif! Example This example shows a Message Normalizer ...
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 Exchange being routed. So what does that mean ...

O

Page: OGNL
OGNL Camel allows OGNL http://www.opensymphony.com/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 ...
Page: OldLinks
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.Synchronization}}. You can get hold of the {{org.apache.camel.spi.UnitOfWork}} from {{org.apache.camel.Exchange ...
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 send messages to a number ...
Page: Parameter Binding Annotations
Parameter Binding Annotations The annotations below are all part of camelcore and thus does not require camelspring 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 Expression or to extract various ...
Page: Pax-Logging
PaxLogging component Available in Camel 2.6 The {{paxlogging}} component can be used in an OSGi environment to receive PaxLogging http://wiki.ops4j.org/display/paxlogging/PaxLogging events and process them. Dependencies Maven users need to add the following dependency to their {{pom.xml ...
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="#chaptertablesandfigures">Captioned Tables and Figures</a> <ul> <li ...
Page: PHP
PHP Camel supports PHP http://www.php.net/ 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 ...
Page: Pipes and Filters
Pipes and Filters Camel supports the Pipes and Filters http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html from the EIP patterns Enterprise Integration Patterns in various ways. !http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif! With Camel you can split your processing across multiple independent ...
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 {{WebSpherePackageScanClassResolver ...
Page: Point to Point Channel
Point to Point Channel Camel supports the Point to Point Channel http://www.enterpriseintegrationpatterns.com/PointToPointChannel.html from the EIP patterns Enterprise Integration Patterns using the following components Seda for inVM seda based messaging JMS for working with JMS Queues for high ...
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 http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Consume.html 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 ...
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 ...
Page: POJO Producing
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 http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/EndpointInject.html ...
Page: Polling Consumer
Polling Consumer Camel supports implementing the Polling Consumer http://www.enterpriseintegrationpatterns.com/PollingConsumer.html from the EIP patterns Enterprise Integration Patterns using the PollingConsumer http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/PollingConsumer.html interface which ...
Page: Predicate
Predicates Camel supports a pluggable interface called Predicate http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Predicate.html which can be used to integrate a dynamic predicate into Enterprise Integration Patterns such as when using the Message Filter ...
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 is to be able to direct specific payloads as jobs to a line ...
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 to access ...
Page: Processor
Processor The Processor http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/Processor.html 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 ...
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 Processors is created. For example you can use it to alter ...
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 want to send lots ...
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 ...
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: In this case, the list of recipients are contained in the property 'myProperty ...
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 ...
Page: Publish Subscribe Channel
Publish Subscribe Channel Camel supports the Publish Subscribe Channel http://www.enterpriseintegrationpatterns.com/PublishSubscribeChannel.html from the EIP patterns Enterprise Integration Patterns using for example the following components: JMS for working with JMS Topics for high performance, clustering and load balancing ...
Page: Python
Python Camel supports Python http://www.python.org/ 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 could ...

Q

Page: Quartz
Quartz Component The quartz: component provides a scheduled delivery of messages using the Quartz scheduler http://www.quartzscheduler.org/. Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail). Maven users will need to add the following dependency to their {{pom.xml}} for this component ...
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 http://www.eecs.harvard.edu/mdw/proj/seda/ behaviour so that messages are exchanged ...
Page: Quickfix
QuickFIX/J Component The quickfix component adapts the QuickFIX/J http://www.quickfixj.org/ FIX engine for using in Camel . This component uses the standard Financial Interchange (FIX) protocol http://www.fixprotocol.org/ for message transport. The quickfix component was rewritten for Camel 2.5 ...
Page: QuickLinks
Download \ JavaDoc \ Source \ Forums Discussion Forums \ Support

R

Page: Recipient List
Recipient List The Recipient List http://www.enterpriseintegrationpatterns.com/RecipientList.html from the EIP patterns Enterprise Integration Patterns allows you to route messages to a number of dynamically specified recipients. !http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif! The recipients will receive a copy of the same Exchange ...
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 = "activemq:foo ...
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 ...
Page: Ref
Ref Component The ref: component is used for lookup of existing endpoints bound in the Registry. URI format ref:someName Where someName is the name of an endpoint in the Registry (usually, but not always, the Spring registry). If you are using the Spring registry, {{someName}} would ...
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 expression ...
Page: Registry
Registry Camel supports a pluggable Registry http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/spi/Registry.html plugin strategy. This allows Camel to easily work with some kind of registry like SimpleRegistry http://camel.apache.org/maven ...
Page: Release Guide
How to create and announce a Camel release. This release guide is based on the General guide for releasing Mavenbased projects at Apache http://maven.apache.org/developers/release/apacherelease.html, so be sure to check it out before continuing and meet all prerequisites. Note: Make ...
Page: Reports
Reports submitted to the Apache Board
Page: Request Reply
Request Reply Camel supports the Request Reply http://www.enterpriseintegrationpatterns.com/RequestReply.html from the EIP patterns Enterprise Integration 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 ...
Page: Resequencer
Resequencer The Resequencer http://www.enterpriseintegrationpatterns.com/Resequencer.html from the EIP patterns Enterprise Integration 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 ...
Page: Restlet
Restlet Component The Restlet component provides Restlet http://www.restlet.org based endpoints Endpoint 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</groupId> <artifactId>camelrestlet</artifactId ...
Page: Return Address
Return Address Camel supports the Return Address http://www.enterpriseintegrationpatterns.com/ReturnAddress.html from the EIP patterns Enterprise Integration Patterns by using the {{JMSReplyTo}} header. !http://www.enterpriseintegrationpatterns.com/img/ReturnAddressSolution.gif! For example when using JMS with InOut the component will by default return ...
Page: RMI
RMI Component The rmi: component binds PojoExchanges http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/component/pojo/PojoExchange.html to the RMI protocol (JRMP). Since this binding is just using RMI, normal RMI rules still ...
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 Camel will dynamic throttle ...
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. This component may be @deprecated in favor of Context ...
Page: RouteBuilder
RouteBuilder The RouteBuilder http://camel.apache.org/maven/current/camelcore/apidocs/org/apache/camel/builder/RouteBuilder.html 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 ...
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 use cases. How it works ...
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. As you can see from the above ...
Page: Routing Slip
Routing Slip The Routing Slip http://www.enterpriseintegrationpatterns.com/RoutingTable.html from the EIP patterns Enterprise Integration 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 ...
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 { @Consume ...
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> <artifactId>camelrss</artifactId ...
Page: Ruby
Ruby Camel supports Ruby http://www.rubylang.org/en/ 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 ...
Page: Running Camel standalone
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 want to write your ...
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 ...
Page: Running Examples
Running Examples This section walks you through running the examples which are shipped with a binary distribution Download. Before you start First you need to Download a binary distribution. To run the demos with maven, you need to download and install Apache ...
Page: Running RAT
Running RAT There is a tool called ARAT http://code.google.com/p/arat/ along with a maven RAT plugin http://mojo.codehaus.org/ratmavenplugin/ which is very useful for checking the contents of releases and ensuring we don't miss licenses, headers, notice files ...
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 ...
Page: RX
Camel RX Available as of Camel 2.11 The camelrx library provides Camel support for the Reactive Extensions https://rx.codeplex.com/&nbsp;(RX) using the RxJava https://github.com/Netflix/RxJava/wiki library so that: Camel users can use the RxJava ...

S

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 other exchanges ...
Page: Scala DSL
About the Scala DSL Scala http://www.scalalang.org/ is a general purpose programming language designed to express common programming patterns in a concise, elegant, and typesafe way. It integrates very well with the Java platform. Our Scala DSL implementation is built on top ...
Page: Scala DSL - EIP
Scala DSL supports every DSL from the Java DSL DSL. On this page we have examples for a number of the EIPs. You can check the unit test source code https://svn.apache.org/repos/asf/camel/trunk/components/camelscala ...
Page: Scala DSL - Getting Started
Just like the Java DSL DSL, the Scala DSL has a RouteBuilder class ({{org.apache.camel.scala.builder.RouteBuilder}}) that you can extend to implement your own routes. This example shows two very simple routes: If you compare this to the Java DSL, you notice ...
Page: Scala DSL - Supported languages
Support for other languages 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 mixin the trait when creating your {{RouteBuilder ...
Page: Scatter-Gather
ScatterGather The ScatterGather http://www.enterpriseintegrationpatterns.com/BroadcastAggregate.html from the EIP patterns Enterprise Integration Patterns allows you to route messages to a number of dynamically specified recipients and reaggregate the responses back into a single message. !http://www.enterpriseintegrationpatterns.com/img/BroadcastAggregate.gif! Dynamic ScatterGather ...
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 typically involves the following capabilities Route activation Starting a route a given ...
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 http://jcp.org/en/jsr/detail?id=223 which is a standard part of Java 6 ...
Page: Scripting Languages Context
ScriptContext The JSR223 scripting languages ScriptContext is pre configured with the following attributes all set at {{ENGINESCOPE}}: Attribute Type Value context {{org.apache.camel.CamelContext}} The Camel Context exchange {{org.apache.camel.Exchange}} The current Exchange request {{org.apache.camel.Message}} The IN message response {{org.apache.camel.Message}} The OUT message ...
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 Authentication and Authorization services to proceed ...
Page: SEDA
SEDA Component The seda: component provides asynchronous SEDA http://www.eecs.harvard.edu/mdw/proj/seda/ behavior, so that messages are exchanged on a BlockingQueue http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html and consumers are invoked in a separate thread from ...
Page: Selective Consumer
Selective Consumer The Selective Consumer http://www.enterpriseintegrationpatterns.com/MessageSelector.html from the EIP patterns Enterprise Integration Patterns can be implemented in two ways !http://www.enterpriseintegrationpatterns.com/img/MessageSelectorSolution.gif! The first solution is to provide a Message Selector to the underlying URIs when creating ...
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 a binary file then send it as an ...
Page: Service Activator
Service Activator Camel has several endpoint components that support the Service Activator http://www.enterpriseintegrationpatterns.com/MessagingAdapter.html from the EIP patterns Enterprise Integration Patterns. !http://www.enterpriseintegrationpatterns.com/img/MessagingAdapterSolution.gif! Components like Bean, CXF and Pojo provide a a way ...
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 pooling Producer. The need for pooling Producer is only apparent ...
Page: SERVLET
Servlet Component The servlet: component provides HTTP based endpoints Endpoint 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 component: <dependency> <groupId>org.apache.camel</groupId ...
Page: Servlet Tomcat Example
Servlet Tomcat Example Available as of Camel 2.7 This example is located in the {{examples/camelexampleservlettomcat}} 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 example from the command line: mvn ...
Page: Servlet Tomcat No Spring Example
Servlet Tomcat No Spring Example Available as of Camel 2.11 This example is located in the {{examples/camelexampleservlettomcatnospring}} 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 example from the command line ...
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 such as Spring to do it. This component supports ...
Page: Shiro Security
Shiro Security Component Available as of Camel 2.5 The shirosecurity component in Camel is a security focused component, based on the Apache Shiro security project. Apache Shiro is a powerful and flexible opensource security framework that cleanly handles authentication, authorization, enterprise session ...
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 broker Its a single ...
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 requiring ...
Page: Simple Jira Bot
Simple Jira Bot Example Available as of Camel 2.7 The example is included in the distribution at {{examples/camelexamplesimplejirabot}}. It contains a {{README.txt}} file with details how to use and run it. The routes This example has 1 route implemented in both the Java and XML DSLs as an ...
Page: SimpleScheduledRoutePolicy
SimpleScheduledRoutePolicy Available as of Camel 2.6 SimpleScheduledRoutePolicy is a ScheduledRoutePolicy that facilitates route activation, deactivation, suspension and resumption of routes based on a Quartz SimpleTrigger. Maven users will need to add a {{camelquartz}} dependency to their {{pom.xml}} to avail this capability. <dependency> <groupId>org.apache.camel</groupId> <artifactId ...
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 IETFdefined signaling protocol, widely used for controlling multimedia ...
Page: Site
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 email http://camel.465427.n5.nabble.com/DISCUSSApacheCamelwebsitefacelifttd3202031.html#a3202031 cited a few key areas to look at: # a new logo # refreshed look and feel for the site # clearer navigation # clearer ...
Page: SiteIndex
Page: SiteMap
Documentation Community Developers Site
Page: SJMS
SJMS Component Available as of Camel 2.11 This component is under active development. 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 ...
Page: Smooks
Smooks The camelsmooks component from Camel Extra http://code.google.com/p/camelextra/ has been removed. The Smooks Library http://milyn.codehaus.org/Smooks integrates natively with Camel and we encourage end users to use
Page: SMPP
SMPP Component Available as of Camel 2.2 This component provides access to an SMSC (Short Message Service Center) over the SMPP http://smsforum.net/SMPPv34Issue12.zip protocol to send and receive SMS. The JSMPP http://code.google.com/p/jsmpp/ is used. Starting ...
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.camel</groupId> <artifactId>camelsnmp ...
Page: SOA Patterns
pattern directory called SOA Patterns http://www.soapatterns.org/ which lists a whole bunch of useful patterns. This experimental wiki page allows us over time to build up a list of SOA Patterns http://www.soapatterns.org/ which Camel does ...
Page: SOAP
SOAP DataFormat Available as of Camel 2.3 SOAP is a Data Format which uses JAXB2 and JAXWS 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 http://lucene.apache.org/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 ...
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 ...
Page: Source
Web Browsing of SVN To browse via the web use the ViewVC interface: http://svn.apache.org/viewvc/camel/trunk/ Or to browse the source tree directly: https://svn.apache.org/repos/asf/camel/trunk/ Web Browing Using FishEye A hearty thanks ...
Page: SpEL
Spring Expression Language (SpEL) Available as of Camel 2.7 Camel allows SpEL http://static.springsource.org/spring/docs/current/springframeworkreference/htmlsingle/springframeworkreference.html#expressions to be used as an Expression or Predicate in the DSL or Xml Configuration. Variables The following variables are available ...
Page: Splitter
Splitter The Splitter http://www.enterpriseintegrationpatterns.com/Sequencer.html from the EIP patterns Enterprise Integration Patterns allows you split a message into a number of pieces and process them individually !http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif! You need to specify a Splitter as {{split()}}. In earlier ...
Page: Spring
Spring Support Apache Camel is designed to work nicely with the Spring Framework http://www.springframework.org/ 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 ...
Page: Spring Example
Spring Example The spring example is a simple refactor of the first example Walk through an 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 ...
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 ...
Page: Spring Java Config Example
Spring Java Config Example The spring java config example is a simple refactor of the spring example Spring Example since Camel 2.0 to show how to use the Spring JavaConfig http://www.springsource.org/javaconfig approach to working with Camel. In this example we ...
Page: Spring LDAP
Spring LDAP Component Available since Camel 2.11 The springldap: component provides a Camel wrapper for Spring LDAP http://www.springsource.org/ldap. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId ...
Page: Spring Neo4j
Spring Neo4j Component Available as of Camel Extra 2.11 The camelspringneo4j library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts GPL related components for Camel. The neo4j: component allows you to treat Neo4j as a camel ...
Page: Spring Redis
Spring Redis Component Available as of Camel 2.11 This component allows sending and receiving messages from Redis http://http://redis.io/. Redis is advanced keyvalue store where keys can contain strings, hashes, lists, sets and sorted sets ...
Page: Spring Remoting
Spring Remoting We support Spring Remoting http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html 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 ...
Page: Spring Security
Spring Security Available as of Camel 2.3 The camelspringsecurity component provides rolebased authorization for Camel routes. It leverages the authentication and user services provided by Spring Security http://static.springsource.org/springsecurity/site/index.html (formerly Acegi Security) and adds a declarative, rolebased ...
Page: Spring Security Example
Spring Security Example This example shows you how to leverage the Spring Security http://static.springsource.org/springsecurity/site/index.html already provides authentication mechanism and authoriationPolicy which is provided in camelspringsecurity Spring Security module to implement a role based authorization ...
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 http ...
Page: Spring Web Services
Spring Web Services Component Available as of Camel 2.6 The springws: component allows you to integrate with Spring Web Services http://static.springsource.org/springws/sites/1.5/. It offers both client\side support, for accessing web services, and server\side support ...
Page: Spring WS Example
Spring Web Services Example Available as of Camel 2.6 This example shows how to expose a SOAPbased web service using Camel and Spring Web Services. Running the example The example is included in the distribution at {{examples/camelexamplespringws}}. To start the example use Maven ...
Page: Spring XML Extensions
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: For more ...
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 ...
Page: SpringBatch
Spring Batch Component The springbatch: component and support classes provide integration bridge between Camel and Spring Batch http://www.springsource.org/springbatch infrastructure. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId ...
Page: SpringIntegration
Spring Integration Component The springintegration: component provides a bridge for Camel components to talk to spring integration endpoints http://www.springsource.org/springintegration. Maven users will need to add the following dependency to their {{pom.xml}} for this component: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelspringintegration ...
Page: SQL
SQL Language The SQL support is added by JoSQL http://josql.sourceforge.net/ and is primarily used for performing SQL queries on inmemory objects. If you prefer to perform actual database queries then check out the JPA component. Camel has both a SQL language ...
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 to the query. This component uses {{springjdbc ...
Page: SQL Example
SQL Example Available as of Camel 2.11 This example is located in the {{examples/camelexamplesql}} 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 example from the command line: mvn ...
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> <groupId>org.apache.camel</groupId ...
Page: StAX
StAX Component Available as of Camel 2.9 The StAX component allows messages to be process through a SAX ContentHandler http://download.oracle.com/javase/6/docs/api/org/xml/sax/ContentHandler.html. Another feature of this component is to allow to iterate over JAXB records using ...
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: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelstream</artifactId ...
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 multiple times ...
Page: String
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 file content ...
Page: StringTemplate
String Template The stringtemplate: component allows you to process a message using a String Template http://www.stringtemplate.org/. 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 component: <dependency ...
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 Mail ...
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 problem in our ...
Page: Syslog
Syslog DataFormat Available as of Camel 2.6 The syslog dataformat is used for working with RFC3164 http://www.ietf.org/rfc/rfc3164.txt messages. This component supports the following: UDP consumption of syslog messages Agnostic data format using either plain String objects or SyslogMessage ...

T

Page: Team
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 http://chariotsolutions.com Babak Vahdat http://www.xing.com/profile/BabakVahdat ...
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 ...
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 arriving on it will be implicitly compared ...
Page: Testing
Testing Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different technologies Components wired together in a variety of patterns Enterprise Integration Patterns with different expression languages Languages together with different ...
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 ...
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 Testing to simplify your unit and integration testing using Enterprise Integration Patterns and Camel's large range of Components together ...
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 using ...
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 requests per ...
Page: TidyMarkup
TidyMarkup TidyMarkup is a Data Format that uses the TagSoup http://www.ccil.org/cowan/XML/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 ...
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 ...
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 migrate when ...
Page: Tokenizer
Tokenizer The tokenizer language is a builtin language in camelcore, which is most often used only with the Splitter EIP to split a message using a tokenbased strategy. For more details see Splitter
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 ...
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 TracerInterceptor created for every node in the DSL. You can enable or disable ...
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 Exchange at any given node ...
Page: Transactional Client
Transactional Client Camel recommends supporting the Transactional Client http://www.enterpriseintegrationpatterns.com/TransactionalClient.html from the EIP patterns Enterprise Integration Patterns using spring transactions. !http://www.enterpriseintegrationpatterns.com/img/TransactionalClientSolution.gif! Transaction Oriented Endpoints (Camel Toes What is a Camel ...
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 default any exception thrown ...
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 ...
Page: Tutorial for Camel on Google App Engine
Camel on Google App Engine Tutorial Overview Goal of this tutorial is to get a nontrivial Camel application running on Google App Engine (GAE). For developing that application the Camel Components for Google App Engine GAE are used. The example web application generates ...
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 ...
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 ...
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 they purchased. The customer enters ...
Page: Tutorial-Example-ReportIncident
Tutorial camelexamplereportincident Introduction Creating this tutorial was inspired by a real life usecase I discussed over the phone with a colleague. He was working at a client whom uses a heavyweight integration platform from a very large vendor. He was in talks with developer shops ...
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 #Resources section. Initial Project Setup We ...
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> ... <camelversion>1.4.0</camelversion> </properties> <! camel > <dependency> <groupId>org.apache.camel</groupId> <artifactId>camelcore</artifactId> <version>$ </version ...
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 / This is the last solution displayed that is the most simple ...
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 ...
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 ...
Page: Tutorial-JmsRemoting
Tutorial on Spring Remoting with JMS &nbsp; 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 JMS queue ...
Page: Tutorial-OAuth
Camel OAuth Tutorial Overview Goal of this tutorial is to demonstrate how to implement an OAuth http://code.google.com/apis/accounts/docs/OAuth.html consumer with Apache Camel. In this tutorial, the OAuth consumer is a simple web application running on Google App Engine ...
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 ...
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 S{}ervice O{}riented A{}rchitecture seems very obvious for most of us ...
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 the MANIFEST.MF ...
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 {{camelcontext.xml}} in the directory {{src/main/resources/METAINF ...
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 http://wicket.apache.org/. Step 1 : Web pages ...
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 http://twitter4j.org/. It allows direct, polling, or eventdriven consumption of timelines, users, trends, and direct messages. Also, it supports producing messages ...
Page: Twitter Websocket Example
Twitter Websocket Example Available as of Camel 2.10 This example is located in the Camel distribution Download at {{examples/camelexampletwitterwebsocket}}. The example is demonstrating how to poll a constant feed of twitter searches and publish results in real time using web socket to a web page ...
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 ...

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 ...
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 ...
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 ...
Page: UrlRewrite
UrlRewrite Component Available as of Camel 2.11 The {{camelurlrewrite}} component allows to plugin url rewrite functionality to HTTP, HTTP4, Jetty, or AHC components. This component integrates the UrlRewriteFilter http://code.google.com/p/urlrewritefilter/ project with Apache Camel. This allows you to use ...
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 Book Getting Started Camel jar dependencies ...
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 or Project Description Apache ActiveMQ ...
Page: Uses Commons Logging
Camel 2.7 or better uses sfl4j http://www.slf4j.org/ which allows you to configure logging via, among others: Log4j http://logging.apache.org/log4j/ Logback http://logback.qos.ch/ JDK Util Logging logging http://java.sun.com/j2se/1.4.2/docs/api ...
Page: Using Camel Questions
Questions on using Apache Camel
Page: Using camel-core-tests.jar
Using camelcoretests.jar The {{camelcoretests.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 ...
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 endpoint ...
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 will be synchronous, the caller will block ...
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 http://en.wikipedia.org/wiki/JavaBusinessIntegration, CXF http://cxf.apache.org/ which defines a concept called Message Exchange Patterns (MEP for short). The MEP defines the messaging ...
Page: Using Languages In IDE
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 and Ruby org.apache.camel.builder.script.ScriptBuilder ...
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 ...
Page: Using PropertyPlaceholder
Using PropertyPlaceholder Available as of Camel 2.3 Camel now provides a new {{PropertiesComponent}} in camelcore which allows you to use property placeholders when defining Camel Endpoint URIs. This works much like you would do if using Spring's ...
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 ...
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 counter ...

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 Predicates and Expressions. Validate ...
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 http://www.w3.org/XML/Schema Note that the Jing component ...
Page: Velocity
Velocity The velocity: component allows you to process a message using an Apache Velocity http://velocity.apache.org/ 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 component ...
Page: Visualisation
Visualisation Camel supports the visualisation of your Enterprise Integration Patterns using the GraphViz http://graphviz.org DOT files which can either be rendered directly via a suitable GraphViz tool or turned into HTML, PNG or SVG files via the Camel ...
Page: VM
VM Component The vm: component provides asynchronous SEDA http://www.eecs.harvard.edu/mdw/proj/seda/ behavior, exchanging messages on a BlockingQueue http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html and invoking consumers in a separate thread pool. This component ...
Page: VTD-XML
VTDXML Available as of Camel 2.10 The VTDXML component supports the VTDXML Library http://vtdxml.sourceforge.net/ for very fast and efficient XPath processing. The camelvtdxml library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts all GPL ...

W

Page: Walk through an Example
Walk through an Example Code This miniguide takes you through the source code of a simple example https://svn.apache.org/repos/asf/camel/trunk/examples/camelexamplejmsfile/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java. ...
Page: Walk through another example
Walk through another example Introduction Continuing the walk from our first example Walk through an 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 ...
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 this page ...
Page: Websocket
Websocket Component Available as of Camel 2.10 The websocket component provides websocket endpoints Endpoint for communicating with clients using websocket. The component uses Eclipse Jetty Server which implements the IETF http://tools.ietf.org/html/rfc6455 specification (drafts and RFC 6455 ...
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 better. What are the runtime jar dependencies? Apache Camel is designed to require a minimum number of dependencies for us so ...
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 http://en.wikipedia.org/wiki/Cameltoe 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 ...
Page: What is Camel
Apache Camel &trade; is a versatile opensource integration framework based on known Enterprise Integration Patterns. Camel empowers you to define routing and mediation rules in a variety of domainspecific languages, including a Javabased Fluent API DSL, Spring or Blueprint Using ...
Page: What is the license
What is the license? This software is open source using the Apache 2.0 licence http://www.apache.org/licenses/LICENSE2.0.html (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, camelcore.jar is small and has minimal dependencies. On Java 6 camelcore.jar only depends ...
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 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 ...
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 ...
Page: Why do my message lose its headers during routing?
Why do my message lose its headers during routing? See this FAQ entry Using getIn or getOut methods on Exchange
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 Bean Integration. 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 FTP2 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 ...
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 local firewall ...
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 File2 consumer is not picking up files. For example it may ...
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 ...
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 Exception Clause option from the Camel Error Handler Exception Clause then it matters if you use this with EIPs such as Recipient List Splitter Multicast Then the option {{shareUnitOfWork}} on these EIPs ...
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 ...
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 is visible in the JConsole. A processor must implement the {{org.apache.camel.Service}} to be managed. Most EIP processors does this. For example the minor ones such as {{setHeader}} does not and thus is not visible in JConsole ...
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 }) .end ...
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 http://www.fao.org/sd/EGdirect/EGan0006.htm of other beasts of burden a Camel ...
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 ...
Page: Wire Tap
Wire Tap Wire Tap http://www.enterpriseintegrationpatterns.com/WireTap.html (from the EIP patterns Enterprise Integration Patterns) allows you to route messages to a separate location while they are being forwarded to the ultimate destination. !http://www.enterpriseintegrationpatterns.com/img/WireTap.gif! If you Wire ...
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 Endpoint. Here are the main steps to writing a component. write a POJO ...

X

Page: Xml Configuration
Xml Configuration We recommend developers use the Java Domain Specific Language DSL 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 ...
Page: Xml Reference
Camel Xml Reference This page contains a link to the XML reference guides and 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 ...
Page: XmlBeans
XmlBeans XmlBeans is a Data Format which uses the XmlBeans library http://xmlbeans.apache.org/ 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 (camelxmljson) Available as of Camel 2.10 Camel already supports a number of data formats to perform XML and JSONrelated conversions, but all of them require a POJO either as an input (for marshalling) or produce a POJO as output (for unmarshalling ...
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 bindary dataformat. You can also invoke the XMLRPC Service through the camelxmlrpc ...
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 multinode encryption/decryption using XPath). The encryption capability is based on formats supported using the Apache ...
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>camelxmpp</artifactId> <version>x.x.x</version> <! use the same version ...
Page: XPath
XPath Camel supports XPath http://www.w3.org/TR/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 ...
Page: XQuery
XQuery Camel supports XQuery http://www.w3.org/TR/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 ...
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: <dependency> <groupId>org.apache.camel ...
Page: XSLT
XSLT The xslt: component allows you to process a message using an XSLT http://www.w3.org/TR/xslt template. This can be ideal when using Templating to generate respopnses for requests. URI format xslt:templateName?options Where templateName ...
Page: XStream
XStream XStream is a Data Format which uses the XStream library http://xstream.codehaus.org/ 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().xstream(). to("mqseries:Another.Queue ...

Y

Z

Page: ZeroMQ
Camel ZeroMQ Component Available as of Camel 2.11 The zeromq: component allows you to consumer or produce messages using ZeroMQ http://zeromq.org/. Zeromq requires a bit of work to get setup, especially on windows. Refer to the documentation http://www.zeromq.org/intro ...
Page: Zip DataFormat
Zip Data Format is a message compression and decompression 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 deal with large ...
Page: Zip File DataFormat
Zip File The Zip File Data Format is a message compression and decompression 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 original file contents ...
Page: Zookeeper
ZooKeeper Available as of Camel 2.9 The ZooKeeper component allows interaction with a ZooKeeper http://hadoop.apache.org/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 nodes ...

!@#$

© 2004-2011 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