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 Camel Components for Apache Karaf

Table of components

The following Camel components are supported on the Apache Karaf (OSGi) container:

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 Calls external HTTP servers using the Async Http Client library.
AHC-WSahc-ws[s]://Hostname[:Port][/ResourceUri]camel-ahc-wsCalls external WebSocket servers using the Async Http Client library.
AMQP amqp:[queue:|topic:]DestinationName[?Options]] camel-amqp For messaging with the AMQP protocol.
APNS apns:notify[?Options] apns:consumer[?Options] camel-apns For sending notifications to Apple iOS devices.
Atmosphere-WebSocketatmosphere-websocket:///RelativePath[?Options]camel-atmosphere-websocketAccepts connections from external WebSocket clients using Atmosphere.
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 Workflow Service (SWF).
AWS-SWF aws-swf://{workflow|activity}[?Options] camel-aws For managing workflows from 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).
Beanstalk beanstalk://[Hostname[:port]][/tube][?options] camel-beanstalk For retrieving and post-processing Beanstalk jobs.
Bean Validation bean-validator:Something[?Options] 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.
BindyN/Acamel-bindyEnables the parsing and binding of non-structured data.
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.
CDIN/Acamel-cdiProvides CDI integration.
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).
CMIS cmis:CmisServerUrl[?Options] camel-cmis Uses the Apache Chemistry client API to interface with CMIS supporting CMS.
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.
ControlBus controlbus:Command[?Options] camel-core ControlBus Enterprise Integration Pattern that allows you to send messages to endpoints for managing and monitoring your Camel applications.
CouchDB couchdb:http://Hostname[:Port] /Database[?Options]://Name[?Options] camel-couchdb Allows you to treat CouchDB instances as a producer or consumer of messages.
Crypto crypto:sign:Name[?Options] crypto:verify:Name[?Options] 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.
Disruptor disruptor:Name[?Options] disruptor-vm:Name[?Options] 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
Dockerdocker:Operation[?Options]camel-dockerLeverages docker-java via the Docker Remote API.
Dozerdozer:EndpointID[?Options]camel-dozerProvides the ability to map between Java beans using the Dozer mapping framework.
Dropboxdropbox://[Operation][?Options]camel-dropboxSends or receives messages from Dropbox remote folders.
ElasticSearch elasticsearch:ClusterName camel-elasticsearch For interfacing with an ElasticSearch server.
ElSqlelsql:elSqlName:resourceUri[?Options]camel-elsqlAn extension to the existing SQL Component that uses ElSql to define the SQL queries.
Etcdetcd:nameSpace[/path][?Options]camel-etcdFor working with the Etcd distibuted key-value store.
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
GHTTP ghttp:///Path[?Options] ghttp://Hostname[:Port]/Path[?Options] ghttps://Hostname[:Port]/Path[?Options] camel-gaeProvides connectivity to the GAE URL fetch service and can also be used to receive messages from servlets.
Gitgit://localRepositoryPath[?Options]camel-gitAllows you to work with a generic Git repository.
GitHubgithub://endpointId[?Options]camel-githubFor interacting with the github API.
GLogin glogin://Hostname[:Port][?Options] camel-gae Used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications.
GMail gmail://[?Options] gmail://[?Options] camel-gaeSupports sending of emails via the GAE mail service.
GoogleCalendar google-calendar://endpoint-prefix/endpointId[?Options] camel-google-calendarFor accessing Google Calendar using the Google Calendar Web APIs.
GoogleMail google-mail://endpoint-prefix/endpointId[?Options] camel-google-mailFor accessing Gmail using the Google Mail Web APIs.
GTask gtask://QueueName camel-gae Supports asynchronous message processing on GAE using the task queueing service as a message queue.
Geocoder geocoder:Address:Name[?Options] geocoder:latlng:Latitude,Longitude[?Options] camel-geocoderLooks up geocodes (latitude and longitude) for a given address, or performs reverse look-up.
GoogleDrivegoogle-drive://EndpointPrefix/Endpoint[?Options]camel-google-driveProvides access to the Google Drive file storage service.
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.
HDFS hdfs://Hostname[:Port][/Path][?Options] camel-hdfs Reads from and writes to a Hadoop Distributed File System (HDFS) using Hadoop 1.x.
HDFS2hdfs2://Hostname[:Port][/Path][?Options]camel-hdfs2Reads from and writes to a Hadoop Distributed File System (HDFS) using Hadoop 2.x.
Hipchathipchat://Hostname[:Port][?Options]camel-hipchatFor producing and consuming messages via the Hipchat service.
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 http4://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.
Jasypt camel-jasyptIntegrates with Jasypt to allow sensitive information in Properties files to be encrypted.
JCache cache://cacheName[?Options] camel-jcachePerform cache operations using JCache (JSR-107) as the cache implementation.
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.
JGroupsjgroups:ClusterName[?Options]camel-jgroupsExchanges messages with JGroups clusters.
Validates the payload of a message using RelaxNG or RelaxNG compact syntax.
JIRA jira://endpointId[?Options] camel-jira For interacting with the JIRA API by encapsulating Atlassian's REST Java Client for JIRA.
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.
Joltjolt:specName[?Options]camel-joltAllows you to process a JSON messages using an JOLT specification.
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.
Kafkakafka://Hostname[:Port][?Options]camel-kafkaSends or receives messages from an Apache Kafka message broker.
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 from Krati datastores.
Kubernetes kubernetes:[masterUrl][?Options] camel-kubernetes For integrating applications with Kubernetes standalone or on top of OpenShift.
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.
Lucene lucene:SearcherName:insert[?analyzer=Analyzer] lucene:SearcherName:query[?analyzer=Analyzer] camel-lucene Uses Apache Lucene to perform Java-based indexing and full text based searches using advanced analysis/tokenization capabilities.
Master REVISIT   
Enables you to collect various metrics directly from Camel routes using the Metrics Java library.
MINA2 mina2:tcp://Hostname[:Port][?Options] mina2:udp://Hostname[:Port][?Options] mina2:vm://Hostname[:Port][?Options] camel-mina2Working with Apache MINA 2.x.
MLLP N/A camel-mllpFor communicating between healthcare systems using the MLLP protocol. This component provides a simple configuration URI and automated HL7 acknowldgement generation and interrogation.
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.
Netty netty:tcp://localhost:99999[?Options] netty:udp://Remotehost:99999/[?Options] camel-netty
Enables you to work with TCP and UDP protocols, using the Java NIO based capabilities offered by Netty version 3.x.
Netty4 netty4:tcp://localhost:99999[?Options] netty4:udp://Remotehost:99999/[?Options] camel-netty4
Enables you to work with TCP and UDP protocols, using the Java NIO based capabilities offered by Netty version 4.x.
Netty HTTP netty-http:http://Hostname[:Port][?Options] camel-netty-httpAn extension to the Netty component, facilitating the HTTP transport, using Netty version 3.x.
Netty4 HTTPnetty4-http:http://Hostname[:Port][?Options]camel-netty4-httpAn extension to the Netty component, facilitating the HTTP transport, using Netty version 4.x.
OGNL  camel-ognlOGNL is an expression language for getting and setting properties of Java objects.
Communicates with OData 2.0 services using Apache Olingo 2.0.
Pahopaho:QName[?Options]camel-pahoProvides connector for the MQTT messaging protocol using the Eclipse Paho library.
Pax-Logging paxlogging:Appender camel-paxlogging
Receives Pax Logging events in the context of an OSGi container.
PDFpdf:Operation[?Options]camel-pdfProvides the ability to create, modify or extract content from PDF documents.
camel-pgeventFor producing and consuming PostgreSQL events to the LISTEN/NOTIFY commands.
POP pop3://[UserName@]Host[:Port][?Options] camel-mail Receives email using POP3 and JavaMail.
Printer lpr://localhost[:Port]/default[?Options] lpr://RemoteHost[:Port]/path/to/printer[?Options] 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.
Quartz quartz://[GroupName/]TimerName[?Options] quartz://GroupName/TimerName/CronExpression camel-quartz Provides a scheduled delivery of messages using the Quartz scheduler.
Quartz2 quartz2://[GroupName/]TimerName[?Options] quartz2://GroupName/TimerName/CronExpression camel-quartz2Provides a scheduled delivery of messages using the Quartz Scheduler 2.x.
Quickfix quickfix-server:ConfigFile quickfix-client:ConfigFile 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.
RESTrest://Method:Path[:UriTemplate][?Options]camel-restAllows you to define REST endpoints using the section "Defining Services with REST DSL" in "Apache Camel Development Guide".
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.
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.
SAP NetWeaver sap-netweaver:https://Hostname[:Port]/Path[?Options] camel-sap-netweaverIntegrates with the SAP NetWeaver Gateway using HTTP transports.
Schematronschematron://Path[?Options]camel-schematronValidates XML documents using Schematron.
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.
Sip sip://User@Hostname[:Port][?Options] sips://User@Hostname[:Port][?Options] 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.
SJMS-Batch sjms-batch:[queue:]destinationName[?Options] camel-sjmsA specialized component for highly performant, transactional batch consumption from a JMS queue.
camel-slackAllows you to connect to an instance of Slack and delivers a message contained in the message body via a pre established Slack incoming webhook.
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.
Splunksplunk://Endpoint[?Options]camel-splunkEnables you to publish events and search for events in Splunk.
Spring Batch spring-batch:Job[?Options] camel-spring-batch To bridge Camel and Spring Batch.
Spring Event spring-event://dummy camel-spring Publishes or consumes Spring ApplicationEvents objects in a Spring context.
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.
SQL Stored Procedure sql-stored:Template[?Options] camel-sqlTo work with databases using Stored Procedure queries.
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.
SwaggerN/Acamel-swaggerEnables users to create API docs for any REST-defined routes and endpoints in a CamelContext file.
Swagger N/A camel-swagger For creating API docs for any REST-defined routes or endpoints in a CamelContext file.
Swagger Java N/A camel-swagger-java Integrates with the REST DSL to expose REST services and their APIs using Swagger. This component can be used as a servlet or directly from the REST components without a servlet.
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.
Undertowundertow:http://Hostname[:Port][/ResourceUri][?Options]camel-undertowProvides HTTP-based endpoints for consuming and producing HTTP requests.
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).