Space Index

0-9 ... 0 A ... 14 B ... 30 C ... 65 D ... 22 E ... 23
F ... 11 G ... 18 H ... 54 I ... 15 J ... 17 K ... 0
L ... 12 M ... 21 N ... 4 O ... 4 P ... 21 Q ... 4
R ... 22 S ... 41 T ... 35 U ... 10 V ... 4 W ... 19
X ... 10 Y ... 0 Z ... 1 !@#$ ... 0    

0-9

A

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 ...
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 ...
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 to overhead of writing and waiting for the disk sync is relatively constant ...
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 ...
Aggregator
Aggregator The Aggregator http://www.enterpriseintegrationpatterns.com/Aggregator.html from the EIP patterns Enterprise Integration Patterns allows you to combine a number of messages together into a single message. !http://www.enterpriseintegrationpatterns.com/img/Aggregator.gif! A correlation Expression is used to determine the messages which should ...
AMQP
AMQP The AMQP component supports the AMQP protocol http://www.amqp.org/ via the Qpid http://cwiki.apache.org/qpid/ project. URI format amqp:queue: topic:destinationName?options You can specify all of the various configuration options of the JMS component ...
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 ...
AOP
AOP Available as of Camel 2.0 Camel has a AOP concept in the DSL allowing you do do some custom before and/or after processing when routing an Exchange. It replaces the {{intercept}} from Camel 1.x that was more limited as it could ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache ...
Articles
See also Camel User Stories http://camel.apache.org/userstories.html. Articles on Apache Camel A bit more meat: Camel applied : JMS to File http://mikemclean.ca/muse/2009/05/abitmoremeatcamelappliedjmstofile/ by Mike McLean Mathew Thomas http://blogs.averconsulting.com/ posted his ...
Artix Data Services
Artix Data Services Deprecated, will be removed in Apache Camel 2.1 The Artix DS Data Format supports the Artix Data Services (ADS) http://www.iona.com/artix/ds product which provides a framework for reading and writing a huge number of vertical ...
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 ...
Asynchronous Processing
Asynchronous Processing Overview The API used on this wiki pages is the old async API in Camel 1.x. We replaced this with a new API in Camel 2.0 and its documented here Async. However the background information in this wiki page is still valid. Camel ...
Atom
Atom Component The atom: component is used for polling atom feeds. Camel will default poll the feed every 60th seconds. Note: The component currently only supports polling (consuming) feeds. URI format atom://atomUri?options Where atomUri ...

B

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. For example if you have a simple system which you submit ...
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 ...
Banner
div id="asflogo">

C

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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Camel 2.1 - Overhaul of Aggregator EIP
Camel 2.1 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 ...
Camel 2.1.0 Release
Camel 2.1.0 release (Work in Progress) !http://camel.apache.org/download.data/camelboxv1.0150x200.png! New and Noteworthy Welcome to the 2.1.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...) Pluggable API for Management allowing 3rd party ...
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 ...
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 ...
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 ...
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 ...
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 ...
Camel Endpoint Questions
Questions on using the various Camel Components and Endpoint implementations
Camel JMX
Camel JMX Apache Camel has extensive support for JMX to allow you to monitor and control the Camel managed objects a JMX client. Spring Dependency springcontext.jar is needed on the classpath by Camel to be able to use JMX instrumentation. If this .jar is not on the classpath Camel ...
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. You can use this quickly to get up to speed ...
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 ...
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 ...
Camel Test
Camel Test As a simple alternative to using Spring Testing or Guice the cameltest module was introduced into the Camel 2.0 trunk so you can perform powerful Testing of your Enterprise Integration Patterns easily. Adding to your pom.xml To get started ...
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:90000" in an endpoint configuration means your service will be offered using ...
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 ...
CamelContext
CamelContext The CamelContext http://activemq.apache.org/camel/maven/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.springframework.org/spring/docs/2.0.x/api ...
Can I get commercial support
Can I get commercial support? Absolutely, see our Support page for more details
Can I use Camel on Java 1.4
Can I use Camel on Java 1.4 Apache Camel is developed to run on Java 5 or later to take advantage of the new language features like generics and annotations together with using the Java 5 concurrency code. If you absolutely must ...
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 ...
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 ...
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 ...
Code Walkthrough
Code Walkthrough The main module to get to grips with is the camelcore http://camel.apache.org/maven/camelcore/ module which defines the core APIs and the DSL. Often developers pick up libraries by looking at test cases. Probably the best test cases to start ...
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 ...
Common Problems
Common Problems that people have when riding the Camel
Community
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 ...
Component
Components A Component is essentially a factory of Endpoint instances. You can explicitly configure Component instances and add them to a CamelContext http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/CamelContext.html in an IoC container like Spring ...
Component List
Component / ArtifactId / URI Description ActiveMQ / activemqcamel activemq:topic:destinationName 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 Uses ActiveMQ's fast ...
Components
Components Supported Camel supports the following Component implementations via URIs. See Also Component Endpoint URIs Writing Components How do I add a component How do I configure endpoints
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 ...
Configuring Camel
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 The old option {{shouldStartContext}} have been ...
Constant
Constant Expression Language The Constant Expression Language is really just a way to specify constant strings as a type of expression. Available as of Camel 1.5 Example usage The setHeader element of the Spring DSL can utilize a constant expression like: 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 ...
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 ...
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 artibrary Processor in the routing logic or using the enrich #enrichdsl DSL element to enrich the message ...
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 ...
Continuous integration builds
CI builds using Hudson Continuous integration builds for Apache Camel have been set up at http://hudson.zones.apache.org. More information about using Hudson at Apache can be found at http://wiki.apache.org/general/Hudson. If you are a Camel PMC ...
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 ...
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 "\ > Parameters Parameter Type Description ...
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 ...
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 ...
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 maven archetype. mvn archetype:create \ DarchetypeGroupId=org.apache.camel \ DarchetypeArtifactId=camelcomponent \ DarchetypeVersion=1.1.0 \ DgroupId=myGroupId \ DartifactId=myArtifactId ...
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 ...
CSV
CSV The CSV Data Format uses Apache Commons CSV http://commons.apache.org/sandbox/csv/ to handle CSV payloads (Comma Separated Values) such as those exported/imported by Excel. Options Option Type Description config CSVConfig Can be used ...
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 ...
CXF
CXF Component The cxf: component provides integration with Apache CXF http://incubator.apache.org/cxf/ for connecting to JAXWS services hosted in CXF. Maven users will need to add the following dependency to their {{pom.xml}} for this component: org.apache.camel camelcxf ...
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 ...
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/CamelCxfExample.java?view=markup is a demo ...
CXFRS
CXFRS Component The cxfrs: component provides integration with Apache CXF http://incubator.apache.org/cxf/ for connecting to JAXRS services hosted in CXF. Maven users will need to add the following dependency to their pom.xml for this component: org.apache.camel camelcxf ...

D

Data Format
Data Format Camel supports a pluggable DataFormat http://camel.apache.org/maven/camelcore/apidocs/org/apache/camel/spi/DataFormat.html to allow messages to be marshalled to and from binary or text formats to support a kind of Message Translator. The following data formats ...
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 ...
DataSet
DataSet Component The DataSet component (available since 1.3.0) 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/camelcore/apidocs/org/apache/camel ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/processor/DeadLetterChannel.html ...
Debugger
Debugger 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 etc. The debugger is @deprecated ...
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 ...
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 ...
Delayer
Delayer The Delayer Pattern allows you to delay the delivery of messages to some destination. The Delayer in Camel 1.x works a bit differently than Camel 2.0 onwards. In Camel 1.x the expression is used to calculate an absolute time in millis. So ...
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 ...
Design Notes
following section contains design notes of the Apache Camel components
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 ...
Developers
Developers The following section contains developer related links for Apache Camel
Difference between Camel and FUSE
What's the difference between Camel and FUSE? FUSE Mediation Router http://fusesource.com/products/enterprisecamel/ is based on Apache Camel to deliver a an easy way for integration engineers to build applications using EIPs. Consider what Red Hat has ...
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 ...
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 ...
Documentation
Documentation Commercial Documentation Progress Software offers free documentation for their FUSE Mediation Router distribution of Apache Camel at http://fusesource.com/docs/router
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 ...
Download
Latest Releases !http://camel.apache.org/images/camelboxsmall.png! Grab these releases while they are hot! The latest release is Camel 2.0.0 Release. Getting the latest distributions The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download ...
DSL
Java DSL Camel uses a Java Domain Specific Language or DSL for creating Enterprise Integration Patterns or Routes. Camel also supports a Spring based XML configuration Xml Configuration as well as a Scala DSL. The benefits of using the Java DSL ...
DSL Function Template
Use this as the basis for a wiki page describing a DSL function <> Syntax Java < Spring XML <> Parameters Parameter Type Description Examples Example1 << example description >> <> < 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 ...
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 ...

E

EDI
EDI DataFormat This component ships with a EDI dataformat that can be used to format from a {{java.io.InputStream}} to XML as a {{org.w3c.Document}} Object. marshal = currently not supported by Smooks http://milyn.codehaus.org/Home unmarshal = from stream to XML (can be used when reading EDI ...
EIP
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 Endpoint
Endpoints Camel supports the Message Endpoint pattern using the Endpoint http://activemq.apache.org/camel/maven/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 ...
Endpoint See Also
See Also Configuring Camel Component Endpoint Getting Started
Enterprise Integration Patterns
Enterprise Integration Patterns Camel supports most of the Enterprise Integration Patterns http://www.enterpriseintegrationpatterns.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 ...
Error Handler
Error Handler Camel supports pluggable ErrorHandler http://camel.apache.org/maven/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 directly ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Exception - org.xml.sax.SAXParseException
Exception: org.xml.sax.SAXParseException The reference to entity "..." must end with the ';' delimiter. In the URIs used for specifying Camel endpoints, the & is used to separate the parameters. However, & also is a reserved character in XML. Because of this, you have to replace all & in your URIs ...
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 ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel ...
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 ...
Expression
Expressions To support dynamic rules Camel supports pluggable Expression http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/Expression.html strategies using a variety of different Languages. Expressions and Predicates Predicate can then be used to create the various ...

F

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 ...
File
File Component Camel 1.x only This page is only for Camel 1.x. If you are using Camel 2.0 or newer see this link File2. The File component provides access to file systems; allowing files to be processed by any other Camel Components ...
File Language
File Expression Language Available as of Camel 1.5 The File Expression Language is an extension to the Simple language, adding file related capabilities. These capabilities is related to common use cases working with file path and names. The goal is to allow expression to be used ...
File2
File Component Camel 2.0 onwards This documentation is only for Camel 2.0 or newer. If you are using Camel 1.x then see this link File instead. The File component provides access to file systems, allowing files to be processed by any other Camel ...
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 ...
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>}} to {{OutputStream}} (can be converted to {{String ...
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 ...
Freemarker
Freemarker Available as of Camel 1.6 The freemarker: component allows you to process a message using a Freemarker http://freemarker.org/ template. This can be ideal when using Templating to generate responses for requests. URI format freemarker:templateName?options Where templateName ...
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 ...
FTP
FTP/SFTP Component Camel 1.x only This component provides access to remote file systems over the FTP and SFTP protocols. If you are using Camel 2.x then see the FTP documentation at his link FTP2. This documentation is only for Camel 1.x ...
FTP2
FTP/SFTP Component Camel 2.0 onwards This component provides access to remote file systems over the FTP and SFTP protocols. If you are using Camel 1.x then see this link FTP for documentation. This page is only for Camel 2.0 or newer. URI ...

G

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 Camel components for Google App Engine http://code.google.com/appengine/ (GAE) are part of the {{camelgae}} project and provide connectivity ...
General Questions
General questions about Camel
Getting Started
Getting Started First you need to Download the Camel distribution; or you could grab the Source and try Building it yourself. You might want to read the following documentation before continuing: Longer Getting Started Guide Book Getting Started ...
ghttp
ghttp}} Component 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 to receive messages from ...
gmail
gmail}} Component 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 is not supported yet but will be added ...
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 ...
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 ...
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 ...
GSoC 2009
Camel Dynamic Routes Student: Xueqiang Mi Mentor: Jonathan Anstey Project Description We can already modify XML at runtime; we could do with visualizations using ...
gtask
gtask}} Component 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/ as message queue. For adding ...
Guaranteed Delivery
Guaranteed Delivery Camel supports the Guaranteed Delivery http://www.enterpriseintegrationpatterns.com/GuaranteedMessaging.html from the EIP patterns Enterprise Integration Patterns using the following components File for using file systems as a persistent store of messages JMS when using persistent delivery ...
Guice
Camel Guice As of 1.5 we now have support for Google Guice http://code.google.com/p/googleguice/ as a dependency injection framework. To use it just be dependent on camelguice.jar which also depends on the following jars http://activemq.apache.org/camel/maven/camelguice ...
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 ...
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 ...
Guice JMS Example
Guice JMS Example (from 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 RouteBuilder ...
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 ...
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 ...
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

Header
Header Expression Language The Header Expression Language allows you to extract values of named headers. Available as of Camel 1.5 Example usage The recipientList element of the Spring DSL can utilize a header expression like: In this case, the list of recipients are contained ...
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 ...
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 ...
HL7
HL7 Component The hl7 component is used for working with the HL7 MLLP protocol and the HL7 model 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 format ...
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 ...
How can I create a custom component or endpoint
How can I create a custom component or endpoint? Please read Writing Components for a background in how to implement a new component or endpoint. Its really easy to do! :) See Also Writing Components How do I add a component ...
How can I get help
How can I get the source code
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/camelcore/apidocs/org ...
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 ...
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 ...
How do I compile the code
How do I compile from the source code? See the Building 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 ...
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 ...
How do I disable JMX
How do I disable JMX? The easiest way to disable JMX support is via the jmxAgent property on the Camel Context element in your Spring XML 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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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
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
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 commonslogging commonslogging How do I use Spring Property Placeholder with Camel XML
How do I use Spring Property Placeholder with Camel XML We don't yet support the {{$\{something}}} notation inside arbitrary Camel XML. For example at the time of writing this is not supported 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 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 ...
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 ...
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 ...
How does Camel compare to Mule
How does Camel compare to Mule? I guess from 30,000 feet they're kinda similar beasts Why the name Camel; they're both kinds of routing/mediation engines. The main differences are as follows Camel uses a Java Domain ...
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 ...
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 ...
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 ...
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 ...
How does Camel work
How does Camel work? Please see the Architecture for details of how things work
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 ...
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 ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/Exchange.html and Message http ...
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 ...
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 ...
How should I package applications using Camel and ActiveMQ
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 ...
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 ...
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 ...
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 ...
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). URI format http:hostname:port/resourceUri?options Will by default use port 80 ...
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 ...

I

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/. URI format ibatis:statementName?options Where statementName is the name in the iBATIS XML configuration file ...
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/camelcore/apidocs/org/apache/camel ...
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 ...
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 ...
In Progress
Releases In Progress The following releases are currently in progress
Includes
Includes This contains a number of reusable page fragments which are included in multiple real pages in the documentation
Index
Download it Today\! Download !http://camel.apache.org/images/camelboxsmall.png! News Links Getting Started Architecture User Guide Enterprise Integration Patterns More News News
Injector
Injector The Injector http://activemq.apache.org/camel/maven/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 ...
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 ...
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 ...
IRC
IRC Component The irc component implements an IRC http://en.wikipedia.org/wiki/InternetRelayChat (Internet Relay Chat) transport. URI format irc:nick@host:port/#room?options In Camel 2.0, you can also use the following format ...
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://servlet.uwyn.com ...
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 ...
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 ...
Is there an IDE
an IDE for editing Camel routes? There's not yet an eclipse specific Camel plugin but we're working on it. Until a nice graphical IDE is available, you could use your Java IDE for smart completion when creating Java routing ...

J

JavaDoc
JavaDoc The core API is defined in the camelcore javadoc http://camel.apache.org/maven/camelcore/apidocs/. Components You can try the maven generated reports http://camel.apache.org/maven/ JavaDoc Documentation camelactivemq http://activemq.apache.org/maven/activemqcore/apidocs/ ActiveMQ ...
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 ...
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 ...
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 ...
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 ...
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 ...
JCR
JCR Component The {{jcr}} component allows you to add nodes to a JCR (JSR170) compliant content repository (for example, Apache Jackrabbit http://jackrabbit.apache.org/). URI format jcr://user:password@repository/path/to/node Usage The {{repository}} element of the URI is used ...
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. This component ...
Jetty
Jetty Component Supports non blocking Request Reply producer in Camel 2.1 onwards The jetty component provides HTTPbased endpoints Endpoint for consuming HTTP requests. That is, the Jetty component behaves as a simple Web server. In Camel 2.1 the jetty component ...
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 Note ...
JMS
JMS Component The JMS component allows messages to be sent to (or consumed from) a JMS http://java.sun.com/products/jms/ Queue or Topic. The implementation of the JMS Component uses Spring's JMS support for declarative transactions, using Spring's {{JmsTemplate}} for sending and a {{MessageListenerContainer ...
JMS Questions
Questions on using the JMS endpoints in Camel
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/impl/JndiRegistry.html which uses ...
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 ...
JSON
JSON JSON is a Data Format to marshal and unmarshal Java objects to and from JSON http://www.json.org/. In Camel 1.6 its only the XStream library that is supported and its default. In Camel 2.0 we added support for more libraries: Camel provides ...
JT400
JT/400 Component The {{jt400}} component allows you to exchanges messages with an AS/400 system using data queues. This components is only available in Camel 1.5 and above. URI format jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/QUEUE.DTAQ?options You ...
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

L

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. The following languages are supported
Languages Supported
Bean Language for using Java for expressions Constant the unified EL from JSP and JSF Header JXPath Mvel OGNL Property Scala DSL Scripting Languages such as BeanShell JavaScript Groovy Python PHP Ruby Simple File Language SQL ...
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. URI format ldap:ldapServerBean?options The ldapServerBean portion of the URI ...
Lifecycle
Camel Lifecycle Camel uses a simple lifecycle interface called Service http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/Service.html which has a single start() and stop() method. Various classes implement Service such as CamelContext ...
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 ...
List of Type Conversions
mavencamelconverters plugin allows you to generate a list of all the possible type conversions available in Camel. Run the following command at the root of the source tree to generate the list in target/camelreports/camelconverters.txt mvn org.apache.camel:mavencamelconverters:report The output from this plugin ...
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 ...
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. Build in load balancing policies Camel has out of the box the following policies: Policy Description Round ...
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 ...
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 ...
Logging Questions
Questions on logging output from Camel to a console, using the Log endpoint or JDK 1.4 logging or Log4j etc
Loop
Loop The Loop allows to process the a message a number of times and possibly process them in a different way. Useful mostly for testing. For each iteration two properties are set on the {{Exchange}} that could be used by processors down the pipeline to process the Message in different ways ...

M

Mail
Mail Component The mail component provides access to Email via Spring's Mail support and the underlying JavaMail system. If you have trouble with sending mails that, for instance, don't contain any subject, have wrong recipients, or manifest other unforeseen ...
Mailing Lists
following mailing lists are available. Before posting you might want to read the Tips for getting help http://camel.apache.org/tipsforgettinghelp.html. Mailing Lists List Name Address Subscribe Unsubscribe Archive Nabble (Online Forums) Camel User List ...
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 ...
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.1SNAPSHOT http://camel.apache.org/manual/camelmanual2.1SNAPSHOT ...
Manual Downloads
Merging commits from trunk to fixes branch
Camel 1.x branch here: https://svn.apache.org/repos/asf/camel/branches/camel1.x The idea is to be able to apply bug fixes to Camel 1.x while leaving new features and other API breaking stuff on the trunk. I think in most cases ...
Message
Message Camel supports the Message http://www.enterpriseintegrationpatterns.com/Message.html from the EIP patterns Enterprise Integration Patterns using the Message http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/Message.html interface. !http://www.enterpriseintegrationpatterns.com/img/MessageSolution.gif ...
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 ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache ...
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 ...
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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/Endpoint.html interface. !http://www.enterpriseintegrationpatterns.com ...
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 ...
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 ...
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 ...
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, CXF and Pojo provide a a way ...
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 ...
MINA
MINA Component The mina: component is a transport for working with Apache MINA http://mina.apache.org/ URI format mina:tcp://hostname:port?options mina:udp://hostname:port?options mina:multicast://hostname:port?options mina:vm://hostname ...
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 ...
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 ...
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. Example The following example shows ...
Mvel
Mvel Avialable in Camel 2.0 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 ...

N

Navigation
Overview Home Index Getting Started API http://camel.apache.org/maven/camelcore/apidocs/index.html FAQ Download Documentation Manual Enterprise Integration Patterns Architecture User Guide Tutorials Examples Cookbook Components Data Format Languages Search ...
News
News
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. By contrast, the JBI component is intended for use by Camel applications ...
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 ...

O

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 ...
OldLinks
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 ...
Overview

P

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 ...
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 ...
PDF Documentation Guide
Table of Contents
  • Table of Contents
  • Preface
  • Captioned Tables and Figures
    • 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 ...
      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 ...
      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 ...
      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 ...
      Pojo
      Pojo Component The pojo: component is now just an alias for the Bean component. Has been removed in Camel 2.0
      POJO Consuming
      MessageDriven or @Consume @MessageDriven is deprecated in Camel 1.x. You should use @Consume instead. Its removed in Camel 2.0. To consume a message you use either the @MessageDriven http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel ...
      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 ...
      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 @EndpointInject() annotation http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel ...
      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://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/PollingConsumer.html interface which ...
      Predicate
      Predicates Camel supports a pluggable interface called Predicate http://activemq.apache.org/camel/maven/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 ...
      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 ...
      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 ...
      Processor
      Processor The Processor http://activemq.apache.org/camel/maven/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 ...
      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 ...
      Project Guidelines
      Apache Camel Bylaws Project Charter # SCOPE ## Apache Camel is an integration framework based on known Enterprise Integration Patterns used to implement routing and mediation rules. ## The Apache Camel team is dedicated to providing a robust, fullfeatured, commercialquality, and freely ...
      Property
      Property Expression Language The Property Expression Language allows you to extract values of named exchange properties. Available as of Camel 2.0 Example usage The recipientList element of the Spring DSL can utilize a property expression like: In this case, the list of recipients ...
      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 the following components JMS for working with JMS Topics for high performance, clustering and load balancing XMPP ...
      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

Quartz
Quartz Component The quartz: component provides a scheduled delivery of messages using the Quartz scheduler http://www.opensymphony.com/quartz/. Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail). Configuring the cron expression in Camel 1.x is based on path ...
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 ...
Quickfix
Quickfix Component Available as of Camel 2.0 The quickfix component is an implementation of the QuickFix http://www.quickfixj.org/ engine for Java . This engine allows to connect to a FIX server which is used to exchange financial messages according to FIX protocol http://www.fixprotocol.org/ standard ...
QuickLinks
Download \ JavaDoc \ Source \ Forums Discussion Forums \ Support

R

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 ...
RecipientList Annotation
RecipientList Annotation As of 1.5.0 we now support the use of @RecipientList on a bean method to easily create a dynamic Recipient List using a Java method. Simple Example using @Consume package com.acme.foo; public class RouterBean { @Consume(uri = "activemq ...
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 ...
Registry
Registry Camel supports a pluggable Registry http://activemq.apache.org/camel/maven/camelcore/apidocs/org/apache/camel/spi/Registry.html plugin strategy. This allows Camel to easily work with some kind of registry like JndiRegistry http://activemq.apache.org/camel ...
Release Guide
How to create and announce a Camel release. Maven 2 Setup Before you deploy anything to the maven repository using Maven 2, you should configure your \/.m2/settings.xml file so that the file permissions of the deployed artifacts are group ...
Reports
Reports submitted to the Apache Board
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 ...
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 ...
Restlet
Restlet Component The Restlet component provides Restlet http://www.restlet.org based endpoints Endpoint for consuming and producing RESTful resources. URI format restlet:restletUrl?options Format of restletUrl: protocol://hostname:port/resourcePattern Restlet promotes decoupling of protocol ...
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 ...
RMI
RMI Component The rmi: component binds PojoExchanges http://activemq.apache.org/camel/maven/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 ...
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 ...
RouteBuilder
RouteBuilder The RouteBuilder http://activemq.apache.org/camel/maven/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 ...
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 is can support any kind of use cases. How it works ...
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 ...
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 ...
RSS
RSS Component The rss: component is used for polling RSS feeds. Camel will default poll the feed every 60th seconds. Note: The component currently only supports polling (consuming) feeds. New in Camel 2.0 URI format rss:rssUri ...
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 ...
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 ...
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 ...
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 ...
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 ...

S

Sampling
Sampling Throttler Available as of Camel 2.1 A sampling throttler allowing you to extract a sample of 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 ...
Scala DSL
Scala DSL for Apache Camel is currently under development and it only supports part of what is available in the Javabased DSL or Xml Configuration syntax. About the Scala DSL Scala http://www.scalalang.org/ is a general purpose programming language designed to express common ...
Scala DSL - EIP
Messaging systems Pipeline There is a simple syntax available for specifying pipeline, by simple putting {{to}} or {{→}} between the different steps in the pipeline. For more advanced use cases, you can also use a blockbased syntax, where every step in the pipeline starts ...
Scala DSL - Getting Started
Just like the Java DSL, the Scala DSL has a RouteBuilder ({{org.apache.camel.scala.builder.RouteBuilder}}) class that you have to extend to implement your own routes. This example shows you two very simple routes. If you compare this to the Java DSL, you notice ...
Scala DSL - Supported languages
Support for other languages inside 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}} like ...
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! Available in Camel ...
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
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
SERVLET
Servlet Component The servlet: component provides HTTP based endpoints Endpoint for consuming HTTP requests that arrive at a HTTP endpoint and this endpoint is bound to a published Servlet. Note: This component is new to Camel 2.0M3. Maven users will need to add the following dependency ...
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 ...
Simple
Simple Expression Language The Simple Expression Language is a really simple language you can use. Its primarily intended for being a really small and simple language for testing without requiring any new dependencies or knowledge of XPath; so its ...
Site
page contains the main navigation links to the parts which make up the Site layout
SiteIndex
SiteMap
Documentation Community Developers Site
Smooks
Smooks The smooks component supports the Smooks Library http://milyn.codehaus.org/Smooks for EDI parsing. The camelsmooks library is provided by the Camel Extra http://code.google.com/p/camelextra/ project which hosts all GPL related components for Camel. It is only the EDI ...
SNMP
SNMP Component Available as of Camel 2.1 The snmp: component gives you the ability to poll SNMP capable devices or receiving traps. URI format snmp://hostname:port?Options The component supports polling OID values from an SNMP ...
Sort
Sort Available as of Camel 2.0 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 ...
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 ...
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! As of Camel 2.0, you need to specify a Splitter ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 or TestNG http ...
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 ...
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 ...
SpringIntegration
Spring Integration Component The springintegration: component provides a bridge for Camel components to talk to spring integration endpoints http://camel.apache.org/springintegration.html. URI format springintegration:defaultChannelName?options Where defaultChannelName represents the default channel name which is used by the Spring ...
SQL
SQL 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 supports SQL http://en.wikipedia.org/wiki ...
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 ...
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. URI format stream:in?options stream:out?options stream:err?options stream:header?options In addition, the {{file ...
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 ...
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 ...
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. URI format stringtemplate:templateName?options Where templateName is the classpathlocal URI ...
Support
Getting Help If you are experiencing problems using Camel then please report your problem to our Issue Tracker http://issues.apache.org/activemq/browse/CAMEL. You may also find it useful to discuss your issues with the community on the Discussion Forums ...

T

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 Bruce Snyder bsnyder SpringSource http://springsource.com ...
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 ...
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 ...
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 ...
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 ...
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 ...
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. Using the Fluent Builders So the above example will throttle messages all messages ...
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 ...
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 ...
ToAsync
ToAsync Available as of Camel 2.1 Background ToAsync is a new feature build into the core of Camel 2.1. It sets the foundation base for non blocking asynchronous Request Reply messaging with Camel. By foundation we mean that it has the moving pieces that makes Camel ...
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 ...
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 ...
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 ...
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 ...
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 ...
Transport
Transports Apache Camel supports a number of different plugable componets for talking to different transports CXF Camel Transport for CXF Datagrams MINA Queue for SEDA HTTP JMS JBI MINA TCP MINA UDP MINA XMPP Please see ...
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 ...
Tutorial for Camel on Google App Engine
Camel on Google App Engine Tutorial This tutorial will be updated whenever new features are added to the Camel Components for Google App Engine GAE. Overview Goal of this tutorial is to get a nontrivial Camel application running on Google App Engine (GAE). For developing ...
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 ...
Tutorial-AXIS-Camel
Tutorial using Axis 1.4 with Apache Camel Prerequisites This tutorial uses Maven 2 to setup the Camel project and for dependencies for artifacts. Distribution This sample is distributed with the Camel 1.5 distribution as {{examples/camelexampleaxis}}. Introduction Apache Axis http://ws.apache.org/axis ...
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 ...
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 ...
Tutorial-Example-ReportIncident-Part1
Part 1 Prerequisites This tutorial uses the following frameworks: Maven 2.0.9 Apache Camel 1.4.0 Apache CXF 2.1.1 Spring 2.5.5 Note: The sample project can be downloaded, see the resources #Resources section. Initial Project Setup We ...
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: ... 1.4.0 org.apache.camel camelcore $ 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 ...
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 ...
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 ...
Tutorial-JmsRemoting
Tutorial on Spring Remoting with JMS   This tutorial was kindly donated to Apache Camel by Martin Gilday. Preface This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue ...
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 ...
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 ...
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 bundle, 2) Add the maven felix plugin who will generate the MANIFEST.MF ...
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 ...
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 ...
Tutorials
Tutorial for Camel on Google App Engine This tutorial demonstrates the usage of the Camel Components for Google App Engine GAE. Tutorial on Spring Remoting with JMS TutorialJmsRemoting This tutorial is focused on different techniques with Camel for ClientServer communication. Report Incident This tutorial introduces ...
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

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 ...
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 Current Supported URIs
User Guide
User Guide You can try the Manual if you want to get a PDF, otherwise try these online Articles. A new book is in the writing Camel in Action http://www.manning.com/ibsen/ which we like to call the Camel bible. This book will definitely ...
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 ...
Uses Commons Logging
Camel uses commonslogging http://commons.apache.org/logging/ which allows you to configure logging via Log4j http://logging.apache.org/log4j/ JDK 1.4 logging http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/packagesummary.html Avalon SimpleLog a simple ...
Using Camel Questions
Questions on using Apache Camel
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 ...
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 ...
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 ...
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 ...

V

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 ...
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. URI format velocity:templateName?options Where templateName is the classpathlocal ...
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 ...
VM
VM Component The vm: 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/BlockingQueue.html and consumers are invoked in a separate thread pool to the producer ...

W

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. ...
Walk through another example
Walk through another example Introduction We continue the walk from Walk through an example. This time we take a closer look at the routing and explains a few pointers so you wont walk into a bear trap, but can enjoy ...
Web Console
Web Console The Camel Web Console is available from versions 2.0 onwards and provides a full access over a RESTful API to camel endpoints, messages and routes. Download and Run the Console Download a recent snapshot of the camelwebstandalone$VERSION.jar http://people.apache.org ...
What are the dependencies
What are the dependencies? Camel depends on Java 5. If you wish to use Camel on older JVMs then we recommend installing the RetroTranslator JIT or Agent http://retrotranslator.sourceforge.net/#jit to convert Java 5 bytecode to 1.4. What are the runtime jar dependencies ...
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
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 ...
What is Camel
Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration. Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain ...
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
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 ...
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
What platforms are supported
What platforms are supported? Any Java platform of JDK 5 or later. We regularly test Camel on Windows, OS X, Linux and Solaris. If you have a platform that is not listed and would like us to certify it then contact our support team ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
Wire Tap
Wire Tap The Wire Tap http://www.enterpriseintegrationpatterns.com/WireTap.html from the EIP patterns Enterprise Integration Patterns allows you to route messages to a separate tap location while it is forwarded to the ultimate destination. !http://www.enterpriseintegrationpatterns.com/img/WireTap.gif! WireTap node ...
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

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 ...
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/spring/ to see the individual XSDs available. Released Schemas Version ...
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 ...
XMLSecurity DataFormat
XMLSecurity Data Format Available as of Camel 2.0 The XMLSecurity DataFormat facilitates encryption and decryption of XML payloads at the Document, Element and Element Content levels (including simultaneous multinode encryption/decryption using XPATH). The encrytion capability is based on formats supported ...
XMPP
XMPP Component The xmpp: component implements an XMPP (Jabber) transport. URI format xmpp://login@hostname:port/participant?Options The component supports both room based and private personperson conversations. The component supports both producer and consumer (you ...
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 ...
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 ...
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. URI format xquery:templateName Where templateName is the classpathlocal URI of the template to invoke; or the complete ...
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 ...
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

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 ...

!@#$

Graphic Design By Hiram