Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 1. Components Overview


This chapter provides a summary of all the components available for Apache Camel.

1.1. List of Components

Table of components

The following components are available for use with Apache Camel.

Table 1.1. Apache Camel Components

ComponentEndpoint URIArtifact IDDescription
ActiveMQ activemq:[queue:|topic:]DestinationName activemq-core For JMS Messaging with Apache ActiveMQ.
AHC ahc:http[s]://Hostname[:Port][/ResourceUri] camel-ahc To call external HTTP services using Async Http Client
AMQP amqp:[queue:|topic:]DestinationName[?Options]] camel-amqp For messaging with the AMQP protocol.
camel-apns For sending notifications to Apple iOS devices.
Atom atom://AtomUri[?Options] camel-atom Working with Apache Abdera for atom integration, such as consuming an atom feed.
Avro avro:http://Hostname[:Port][?Options] camel-avro Working with Apache Avro for data serialization.
AWS-CWaws-cw://Namespace[?Options]camel-awsFor sending metrics to Amazon CloudWatch.
AWS-DDB aws-ddb://TableName[?Options] camel-aws For working with Amazon's DynamoDB (DDB).
AWS-SDB aws-sdb://DomainName[?Options] camel-aws For working with Amazon's SimpleDB (SDB).
AWS-SES aws-ses://From[?Options] camel-aws For working with Amazon's Simple Email Service (SES).
AWS-S3 aws-s3://BucketName[?Options] camel-aws For working with Amazon's Simple Storage Service (S3).
AWS-SNS aws-sns://TopicName[?Options] camel-aws For Messaging with Amazon's Simple Notification Service (SNS).
AWS-SQS aws-sqs://QueueName[?Options] camel-aws For Messaging with Amazon's Simple Queue Service (SQS).
Bean bean:BeanID[?methodName=Method] camel-core Uses the Bean Binding to bind message exchanges to beans in the Registry. Is also used for exposing and invoking POJO (Plain Old Java Objects).
Bean Validation
camel-bean-validator Validates the payload of a message using the Java Validation API (JSR 303 and JAXP Validation) and its reference implementation Hibernate Validator.
Browse browse: Name camel-core Provdes 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.
Cache cache://CacheName[?Options] camel-cache The cache component enables you to perform caching operations using EHCache as the Cache Implementation.
Class class:ClassName[?method=MethodName] camel-core Uses the Bean binding to bind message exchanges to beans in the registry. Is also used for exposing and invoking POJOs (Plain Old Java Objects).
Cometd cometd://Hostname[:Port]/ChannelName[?Options] camel-cometd A transport for working with the jetty implementation of the cometd/bayeux protocol.
Context context:CamelContextId:LocalEndpointName camel-context Refers to an endpoint in a different CamelContext.
camel-crypto Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension.
CXF cxf://Address[?Options] camel-cxf Working with Apache CXF for web services integration.
CXF Bean cxf:BeanName camel-cxf Proceess the exchange using a JAX WS or JAX RS annotated bean from the registry.
CXFRS cxfrs:bean:RsEndpoint[?Options] camel-cxf Provides integration with Apache CXF for connecting to JAX-RS services hosted in CXF.
DataFormatdataformat:Name:(marshal|unmarshal)[?Options]camel-coreEnables you to marshal or unmarshal a message in one of the standard Camel data formats, by sending it to an endpoint.
DataSet dataset:Name[?Options] camel-core For load & soak testing the DataSet provides a way to create huge numbers of messages for sending to Components or asserting that they are consumed correctly.
Direct direct:EndpointID[?Options] camel-core Synchronous call (single-threaded) to another endpoint from same CamelContext.
Direct-VM direct-vm:EndpointID[?Options] camel-core Synchronous call (single-threaded) to another endpoint in another CamelContext running in the same JVM.
camel-disruptorSimilar to a SEDA endpoint, but uses a Disruptor instead of a blocking queue.
DNS dns:Operation camel-dns Look up domain information and run DNS queries using DNSJava
EJB ejb:EjbName[?method=MethodName] camel-ejb Uses the Bean binding to bind message exchanges to EJBs. It works like the Bean component, but just for accessing EJBs. Supports EJB 3.0 onwards.
EventAdmin eventadmin:topic camel-eventadmin  
Exec exec://Executable[?Options] camel-exec Execute system command.
Fabric fabric:ClusterID[:PublishedURI][?Options] fabric-camel Look up or publish a fabric endpoint.
Facebookfacebook://[Endpoint][?Options] camel-facebookProvides access to all of the Facebook APIs accessible using Facebook4J.
File2 file://DirectoryName[?Options] camel-core Sending messages to a file or polling a file or directory.
Flatpack flatpack:[fixed|delim]: ConfigFile camel-flatpack Processing fixed width or delimited files or messages using the FlatPack library
FOP fop:OutputFormat camel-fop Renders the message into different output formats using Apache FOP.
Freemarker freemarker: TemplateResource camel-freemarker Generates a response using a Freemarker template.
FTP2 ftp://[Username@]Hostname[:Port]/Directoryname[?Options] camel-ftp Sending and receiving files over FTP.
GAuth gauth://Name[?Options] camel-gae Used by web applications to implement a Google-specific OAuth consumer
camel-gae Provides connectivity to the GAE URL fetch service and can also be used to receive messages from servlets.
GLogin glogin://Hostname[:Port][?Options] camel-gae Used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications.
camel-gae Supports sending of emails via the GAE mail service.
GTask gtask://QueueName camel-gae Supports asynchronous message processing on GAE using the task queueing service as a message queue.
camel-geocoderLooks up geocodes (latitude and longitude) for a given address, or performs reverse look-up.
Guava EventBus guava-eventbus:BusName[?EventClass=ClassName] camel-guava-eventbus The Google Guava EventBus allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). This component provides integration bridge between Camel and Google Guava EventBus infrastructure.
Hazelcast hazelcast://StoreType:CacheName[?Options] camel-hazelcast Hazelcast is a data grid entirely implemented in Java (single JAR). This component supports map, multimap, seda, queue, set, atomic number and simple cluster.
HBase hbase://Table[?Options] camel-hbase For reading/writing from/to an HBase store (Hadoop database).
HDFS hdfs://Path[?Options] camel-hdfs For reading/writing from/to an HDFS filesystem.
HL7 mina:tcp://Host[:Port] camel-hl7 For working with the HL7 MLLP protocol and the HL7 model using the HAPI library.
HTTP http://Hostname[:Port][/ResourceUri] camel-http For calling out to external HTTP servers, using Apache HTTP Client 3.x.
HTTP4 http://Hostname[:Port][/ResourceUri] camel-http4 For calling out to external HTTP servers, using Apache HTTP Client 4.x.
iBATIS ibatis:OperationName[?Options] camel-ibatis Performs a query, poll, insert, update or delete in a relational database using Apache iBATIS.
IMap imap://[UserName@]Host[:Port][?Options] camel-mail Receiving email using IMap.
IRC irc:Host[:Port]/#Room camel-irc For IRC communication.
JavaSpace javaspace:jini://Host[?Options] camel-javaspace Sending and receiving messages through JavaSpace.
camel-jbi For JBI integration such as working with Apache ServiceMix.
JClouds jclouds:[Blobstore|ComputService]:Provider camel-jclouds For interacting with cloud compute & blobstore service via JClouds.
JCR jcr://UserName:Password@Repository/path/to/node camel-jcr Storing a message in a JCR (JSR-170) compliant repository like Apache Jackrabbit.
JDBC jdbc:DataSourceName[?Options] camel-jdbc For performing JDBC queries and operations.
Jetty jetty:http://Host[:Port][/ResourceUri] camel-jetty For exposing services over HTTP.
camel-jing Validates the payload of a message using RelaxNG or RelaxNG compact syntax.
JMS jms:[temp:][queue:|topic:]DestinationName[?Options] camel-jms Working with JMS providers.
JMX jmx://Platform[?Options] camel-jmx For working with JMX notification listeners.
JPA jpa:[EntityClassName][?Options] camel-jpa For using a database as a queue via the JPA specification for working with OpenJPA, Hibernate or TopLink.
Jsch scp://Hostname/Destination camel-jsch Support for the scp protocol.
JT400 jt400://User:Pwd@System/PathToDTAQ camel-jt400 For integrating with data queues on an AS/400 (aka System i, IBM i, i5, ...) system.
Kestrel kestrel://[AddressList/]Queuename[?Options] camel-kestrel For producing to or consuming from Kestrel queues.
Krati krati://[PathToDatastore/][?Options] camel-krati For producing to or consuming to Krati datastores.
Language language://LanguageName[:Script][?Options] camel-core Executes language scripts.
LDAP ldap:Host[:Port]?base=...[&scope=Scope] camel-ldap Performing searches on LDAP servers (Scope must be one of object|onelevel|subtree).
LevelDBN/A camel-leveldbA very lightweight and embeddable key-value database.
List list:ListID camel-core 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.
Log log:LoggingCategory[?level=LoggingLevel] camel-core Uses Jakarta Commons Logging to log the message exchange to some underlying logging system like log4j.
camel-lucene Uses Apache Lucene to perform Java-based indexing and full text based searches using advanced analysis/tokenization capabilities.
Master REVISIT   
camel-mina Working with Apache MINA.
camel-mina2Working with Apache MINA 2.x.
Mock mock:EndpointID camel-core For testing routes and mediation rules using mocks.
MongoDB mongodb:Connection[?Options] camel-mongodb Interacts with MongoDB databases and collections. Offers producer endpoints to perform CRUD-style operations and more against databases and collections, as well as consumer endpoints to listen on collections and dispatch objects to Camel routes.
MQTT mqtt:Name camel-mqtt Component for communicating with MQTT M2M message brokers
MSV msv:LocalOrRemoteResource camel-msv Validates the payload of a message using the MSV Library.
Mustache mustache:TemplateName[?Options] camel-mustacheEnables you to process a message using a Mustache template.
MVEL mvel:TemplateName[?Options] camel-mvelEnables you to process a message using an MVEL template.
MyBatis mybatis:StatementName camel-mybatis Performs a query, poll, insert, update or delete in a relational database using MyBatis.
Nagios nagios://Host[:Port][?Options] camel-nagios Sending passive checks to Nagios using JSendNSCA.
camel-netty Working with TCP and UDP protocols using Java NIO based capabilities offered by the JBoss Netty community project.
Netty HTTP netty-http:http://Hostname[:Port][?Options] camel-netty-httpAn extension to the Netty component, facilitating the HTTP transport.
NMR nmr:serviceMixURI servicemix-camel For OSGi integration when working with Red Hat JBoss Fuse. Enables you to specify the URI of a ServiceMix endpoint.
Pax-Logging paxlogging:Appender camel-paxlogging  
POP pop3://[UserName@]Host[:Port][?Options] camel-mail Receiving email using POP3 and JavaMail.
camel-printer Provides a way to direct payloads on a route to a printer.
Properties properties://Key[?Options] camel-properties Facilitates using property placeholders directly in endpoint URI definitions.
camel-quartz Provides a scheduled delivery of messages using the Quartz scheduler.
camel-quartz2Provides a scheduled delivery of messages using the Quartz Scheduler 2.x.
camel-quickfix Implementation of the QuickFix for Java engine which allow to send/receive FIX messages.
RabbitMQ rabbitmq://Hostname[:Port]/ExchangeName[?Options] camel-rabbitmqEnables you to produce and consume messages from a RabbitMQ instance.
Ref ref:EndpointID camel-core Component for lookup of existing endpoints bound in the Registry.
Restlet restlet:RestletUrl[?Options] camel-restlet Component for consuming and producing Restful resources using Restlet.
RMI rmi://RmiRegistryHost:RmiRegistryPort/RegistryPath camel-rmi Working with RMI.
Routebox routebox:routeboxName[?Options] camel-routebox  
RSS rss:Uri camel-rss Working with ROME for RSS integration, such as consuming an RSS feed.
RNC rnc:LocalOrRemoteResource camel-jing Validates the payload of a message using RelaxNG Compact Syntax.
RNG rng:LocalOrRemoteResource camel-jing Validates the payload of a message using RelaxNG.
Salesforce salesforce:Topic[?Options] camel-salesforceEnables producer and consumer endpoints to communicate with Salesforce using Java DTOs.
SAP sap:[destination:DestinationName|server:ServerName]rfcName[?Options] camel-sapEnables outbound and inbound communication to and from SAP systems using synchronous remote function calls, sRFC.
Chapter 103, SAP NetWeaver sap-netweaver:https://Hostname[:Port]/Path[?Options] camel-sap-netweaverIntegrates with the SAP NetWeaver Gateway using HTTP transports.
Scalate scalate:TemplateName[?Options] org.fusesource.scalate/scalate-camel Uses the given Scalate template to transform the message.
SEDA seda:EndpointID camel-core Used to deliver messages to a java.util.concurrent.BlockingQueue, useful when creating SEDA style processing pipelines within the same CamelContext.
SERVLET servlet://RelativePath[?Options] camel-servlet Provides HTTP based endpoints for consuming HTTP requests that arrive at a HTTP endpoint and this endpoint is bound to a published Servlet.
ServletListener N/A camel-servletlistenerUsed for bootstrapping Camel applications in Web applications.
SFTP sftp://[Username@]Hostname[:Port]/Directoryname[?Options] camel-ftp Sending and receiving files over SFTP.
camel-sip Publish/subscribe communication capability using the telecom SIP protocol. RFC3903 - Session Initiation Protocol (SIP) Extension for Event
SJMS sjms:[queue:|topic:]destinationName[?Options] camel-sjmsA JMS client for Camel that employs best practices for JMS client creation and configuration.
SMPP smpp://UserInfo@Host[:Port][?Options] camel-smpp To send and receive SMS using Short Messaging Service Center using the JSMPP library.
SMTP smtp://[UserName@]Host[:Port][?Options] camel-mail Sending email using SMTP and JavaMail.
SNMP snmp://Hostname[:Port][?Options] camel-snmp Gives you the ability to poll SNMP capable devices or receive traps.
Solr solr://Hostname[:Port]/Solr[?Options] camel-solr Uses the Solrj client API to interface with an Apache Lucene Solr server.
Spring Batch spring-batch:Job[?Options] camel-spring-batch To bridge Camel and Spring Batch.
Spring Event spring-event://dummy camel-spring Working with Spring ApplicationEvents.
Spring Integration spring-integration:DefaultChannelName[?Options] camel-spring-integration The bridge component of Camel and Spring Integration.
Spring LDAP spring-ldap:SpringLdapTemplate[?Options] camel-spring-ldapProvides a Camel wrapper for Spring LDAP.
Spring Redis spring-redis://Hostname[:Port][?Options] camel-spring-redisEnables sending and receiving messages from Redis, which is an advanced key-value store, where keys can contain strings, hashes, lists, sets and sorted sets.
Spring Web Services spring-ws:[MappingType:]Address[?Options] camel-spring-ws Client-side support for accessing web services, and server-side support for creating your own contract-first web services using Spring Web Services.
SQL sql:SqlQueryString[?Options] camel-sql Performing SQL queries using JDBC.
SSH ssh:[Username[:Password]@]Host[:Port][?Options] camel-ssh For sending commands to a SSH server.
StAX stax:ContentHandlerClassName camel-stax Process messages through a SAX ContentHandler.
Stomp stomp:queue:Destination[?Options] camel-stompFor sending messages to or receiving messages from a Stomp compliant broker, such as Apache ActiveMQ.
Stream stream:[in|out|err|header][?Options] camel-stream Read or write to an input/output/error/file stream rather like Unix pipes.
String Template string-template:TemplateURI[?Options] camel-stringtemplate Generates a response using a String Template.
Stub stub:SomeOtherCamelUri camel-core Allows you to stub out some physical middleware endpoint for easier testing or debugging.
Test test:RouterEndpointUri camel-spring Creates a Mock endpoint which expects to receive all the message bodies that could be polled from the given underlying endpoint.
Timer timer:EndpointID[?Options] camel-core A timer endpoint.
Twitter twitter://[Endpoint][?Options] camel-twitter A Twitter endpoint.
UrlRewrite N/A camel-urlrewriteEnables you to plug URL rewrite functionality into the HTTP, HTTP4, Jetty, or AHC components.
Validation validator:LocalOrRemoteResource camel-spring Validates the payload of a message using XML Schema and JAXP Validation.
Velocity velocity:TemplateURI[?Options] camel-velocity Generates a response using an Apache Velocity template.
Vertxvertx:ChannelName[?Options] camel-vertxFor working with the Vertx Event Bus.
VM vm:EndpointID camel-core Used to deliver messages to a java.util.concurrent.BlockingQueue, useful when creating SEDA style processing pipelines within the same JVM.
Weather weather://DummyName[?Options] camel-weatherPolls weather information from Open Weather Map: a site that provides free global weather and forecast information.
Websocket websocket://Hostname[:Port]/Path camel-websocket Communicating with Websocket clients.
XML RPC xmlrpc://ServerURI[?Options] camel-xmlrpcProvides a data format for XML, which allows serialization and deserialization of request messages and response message using Apache XmlRpc's bindary data format.
XML SecurityN/A camel-xmlsecurityGenerate and validate XML signatures as described in the W3C standard XML Signature Syntax and Processing.
XMPP xmpp:Hostname[:Port][/Room] camel-xmpp Working with XMPP and Jabber.
XQuery xquery:TemplateURI camel-saxon Generates a response using an XQuery template.
XSLT xslt:TemplateURI[?Options] camel-spring Enables you to process a message using an XSLT template.
Yammer yammer:[function][?Options] camel-yammerEnables you to interact with the Yammer enterprise social network.
Zookeeper zookeeper://Hostname[:Port]/Path camel-zookeeper Working with ZooKeeper cluster(s).