An informal grouping of Camel components.
Automating Tasks
Component / ArtifactId / URI |
Description |
---|---|
Timer / camel-core timer:timerName[?<options>] |
Used to generate message exchanges when a timer fires You can only consume events from this endpoint. |
Quartz / camel-quartz quartz://groupName/timerName[?<options>] |
Provides a scheduled delivery of messages using the Quartz 1.x scheduler |
Quartz2 / camel-quartz2 quartz2://groupName/timerName[?<options>] |
Provides a scheduled delivery of messages using the Quartz 2.x scheduler |
Amazon
Component / ArtifactId / URI |
Description |
---|---|
aws-cw://namespace[?<options>] |
For working with Amazon's CloudWatch (CW). |
aws-ddb://tableName[?<options>] |
For working with Amazon's DynamoDB (DDB). |
aws-sdb://domainName[?<options>] |
For working with Amazon's SimpleDB (SDB). |
aws-ses://from[?<options>] |
For working with Amazon's Simple Email Service (SES). |
aws-sns://topicName[?<options>] |
For Messaging with Amazon's Simple Notification Service (SNS). |
aws-sqs://queueName[?<options>] |
For Messaging with Amazon's Simple Queue Service (SQS). |
aws-s3://bucketName[?<options>] |
For working with Amazon's Simple Storage Service (S3). |
Basics
Component / ArtifactId / URI |
Description |
---|---|
Bean / camel-core bean:beanName[?<options>] |
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). |
Class / camel-core class:className[?<options>] |
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). |
DataFormat / camel-core dataformat:name:<marshal|unmarshal>[?<options>] |
for working with Data Formats as if it was a regular Component supporting Endpoints and URIs. |
Language / camel-core language://languageName[:script][?<options>] |
Executes Languages scripts |
Properties / camel-core properties://key[?<options>] |
The properties component facilitates using property placeholders directly in endpoint uri definitions. |
Ref / camel-core ref:name |
Component for lookup of existing endpoints bound in the Registry. |
Chat
Component / ArtifactId / URI |
Description |
---|---|
IRC / camel-irc irc:[login@]hostName[:port]/#room[?<options>] |
For IRC communication |
XMPP / camel-xmpp xmpp://[login@]hostname[:port][/participant][?<options>] |
Working with XMPP and Jabber |
Clusters
Component / ArtifactId / URI |
Description |
---|---|
JGroups / camel-jgroups in camel-extra jgroups://clusterName |
The |
ZooKeeper / camel-zookeeper zookeeper://zookeeperServer[:port][/path][?<options>] |
Working with ZooKeeper cluster(s) |
Commands
Component / ArtifactId / URI |
Description |
---|---|
DNS / camel-dns dns:operation[?<options>] |
To lookup domain information and run DNS queries using DNSJava |
Exec / camel-exec exec://executable[?<options>] |
For executing system commands |
Flatpack / camel-flatpack flatpack:[fixed|delim]:configFile[?<options>] |
Processing fixed width or delimited files or messages using the FlatPack library |
HDFS / camel-hdfs hdfs://hostName[:port][/path][?<options>] |
For reading/writing from/to an HDFS filesystem |
Jsch / camel-jsch scp://hostName[:port]/destination[?<options>] |
Support for the scp protocol |
Log / camel-core log:loggingCategory[?<options>] |
Uses Jakarta Commons Logging to log the message exchange to some underlying logging system like log4j |
Printer / camel-printer lpr://host:port/path/to/printer[?<options>] |
The printer component facilitates creation of printer endpoints to local, remote and wireless printers. The endpoints provide the ability to print camel directed payloads when utilized on camel routes. |
Stream / camel-stream stream:[in|out|err|file|header|url][?<options>] |
Read or write to an input/output/error/file stream rather like unix pipes |
SSH component / camel-ssh ssh:[username[:password]@]hostName[:port][?<options>] |
For sending commands to a SSH server |
Content Repositories
Component / ArtifactId / URI |
Description |
---|---|
CMIS / camel-cmis cmis://cmisServerUrl[?<options>] |
Uses the Apache Chemistry client API to interface with CMIS supporting CMS |
JCR / camel-jcr jcr://user:password@repository/path/to/node[?<options>] |
Storing a message in a JCR compliant repository like Apache Jackrabbit |
Databases
Component / ArtifactId / URI |
Description |
---|---|
CouchDB / camel-couchdb couchdb:hostName[:port]/database[?<options>] |
To integrate with Apache CouchDB. |
Db4o / camel-db4o in camel-extra db4o://className |
For using a db4o datastore as a queue via the db4o library |
EJB / camel-ejb ejb:ejbName[?<options>] |
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. |
HBase / camel-hbase hbase://table[?<options>] |
For reading/writing from/to an HBase store (Hadoop database) |
Hibernate / camel-hibernate in camel-extra hibernate://entityName |
For using a database as a queue via the Hibernate library |
iBATIS / camel-ibatis ibatis://statementName[?<options>] |
Performs a query, poll, insert, update or delete in a relational database using Apache iBATIS |
JDBC / camel-jdbc jdbc:dataSourceName[?<options>] |
For performing JDBC queries and operations |
JPA / camel-jpa jpa://entityName[?<options>] |
For using a database as a queue via the JPA specification for working with OpenJPA, Hibernate or TopLink |
Krati / camel-krati krati://[path to datastore/][?<options>] |
For producing to or consuming to Krati datastores |
MongoDB / camel-mongodb mongodb:connectionBean[?<options>] |
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 |
MyBatis / camel-mybatis mybatis://statementName[?<options>] |
Performs a query, poll, insert, update or delete in a relational database using MyBatis |
SQL / camel-sql sql:select * from table where id=#[?<options>] |
Performing SQL queries using JDBC |
Spring Neo4j / camel-spring-neo4j in camel-extra spring-neo4j:http://hostname[:port]/database[?options] |
Component for producing to Neo4j datastore using the Spring Data Neo4j library |
ESB
Component / ArtifactId / URI |
Description |
---|---|
JBI / servicemix-camel jbi:serviceName |
For JBI integration such as working with Apache ServiceMix |
NMR / servicemix-nmr nmr://serviceName |
Integration with the Normalized Message Router BUS in ServiceMix 4.x |
Feeds
Component / ArtifactId / URI |
Description |
---|---|
Atom / camel-atom atom:atomUri[?<options>] |
Working with Apache Abdera for atom integration, such as consuming an atom feed. |
RSS / camel-rss rss:uri[?<options>] |
Working with ROME for RSS integration, such as consuming an RSS feed. |
File I/O
Component / ArtifactId / URI |
Description |
---|---|
File / camel-core file://nameOfFileOrDirectory[?<options>] |
Sending messages to a file or polling a file or directory. |
FTP / camel-ftp ftp:contextPath[?<options>] |
Sending and receiving files over FTP. |
FTPS / camel-ftp ftps://[username@]hostName[:port]/directoryName[?<options>] |
Sending and receiving files over FTP Secure (TLS and SSL). |
SFTP / camel-ftp sftp://[username@]hostName[:port]/directoryName[?<options>] |
Sending and receiving files over SFTP (FTP over SSH). |
Component / ArtifactId / URI |
Description |
---|---|
gauth://name[?<options>] |
Used by web applications to implement an OAuth consumer. See also Camel Components for Google App Engine. |
ghttp:contextPath[?<options>] |
Provides connectivity to the URL fetch service of Google App Engine but can also be used to receive messages from servlets. See also Camel Components for Google App Engine. |
glogin://hostname[:port][?<options>] |
Used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications. See also Camel Components for Google App Engine. |
gtask://queue-name[?<options>] |
Supports asynchronous message processing on Google App Engine by using the task queueing service as message queue. See also Camel Components for Google App Engine. |
gmail://user@g[oogle]mail.com[?<options>] |
Supports sending of emails via the mail service of Google App Engine. See also Camel Components for Google App Engine. |
Google Guava EventBus / camel-guava-eventbus guava-eventbus:busName[?<options>] |
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. |
http
Component / ArtifactId / URI |
Description |
---|---|
AHC / camel-ahc ahc:http[s]://hostName[:port][/resourceUri][?<options>] |
To call external HTTP services using Async Http Client |
Cometd / camel-cometd cometd://hostName:port/channelName[?<options>] |
Used to deliver messages using the jetty cometd implementation of the bayeux protocol |
HTTP / camel-http http:hostName[:port][/resourceUri][?<options>] |
For calling out to external HTTP servers using Apache HTTP Client 3.x |
HTTP4 / camel-http4 http4:hostName[:port][/resourceUri][?<options>] |
For calling out to external HTTP servers using Apache HTTP Client 4.x |
Jetty / camel-jetty jetty:hostName[:port][/resourceUri][?<options>] |
For exposing services over HTTP |
SERVLET / camel-servlet servlet:relativePath[?<options>] |
For exposing services over HTTP through the servlet which is deployed into the Web container. |
In-Memory Management
Component / ArtifactId / URI |
Description |
---|---|
Direct / camel-core direct:someName[?<options>] |
Synchronous call to another endpoint from same CamelContext. |
Direct-VM / camel-core direct-vm:someName[?<options>] |
Synchronous call to another endpoint in another CamelContext running in the same JVM. |
Disruptor / camel-disruptor disruptor:someName[?<option>] |
To provide the implementation of SEDA which is based on disruptor |
Disruptor VM / camel-disruptor disruptor-vm:someName[?<option>] |
... |
SEDA / camel-core seda:someName[?<options>] |
Asynchronous call to another endpoint in the same Camel Context |
VM / camel-core vm:queueName[?<options>] |
Asynchronous call to another endpoint in the same JVM |
JMS
Component / ArtifactId / URI |
Description |
---|---|
ActiveMQ / activemq-camel activemq:[topic:]destinationName |
For JMS Messaging with Apache ActiveMQ |
ActiveMQ Journal / activemq-core activemq.journal:directory-on-filesystem |
Uses ActiveMQ's fast disk journaling implementation to store message bodies in a rolling log file |
JMS / camel-jms jms:[queue:|topic:]destinationName[?<options>] |
Working with JMS providers |
RabbitMQ / camel-rabbitmq rabbitmq://hostname[:port]/exchangeName[?<options>] |
Component for integrating with RabbitMQ |
SJMS / camel-sjms sjms:[queue:|topic:]destinationName[?<options>] |
A ground up implementation of a JMS client |
Stomp / camel-stomp stomp:queue:destinationName[?<options>] |
For communicating with Stomp compliant message brokers, like Apache ActiveMQ or ActiveMQ Apollo |
ZeroMQ / camel-zeromq in camel-extra. zeromq:(tcp|ipc)://hostname:port |
The ZeroMQ component allows you to consumer or produce messages using ZeroMQ. |
LDAP
Component / ArtifactId / URI |
Description |
---|---|
LDAP / camel-ldap ldap:host[:port][?<options>] |
Performing searches on LDAP servers (<scope> must be one of object|onelevel|subtree) |
Spring LDAP / camel-spring-ldap spring-ldap:springLdapTemplateBean[?<options>] |
Camel wrapper for Spring LDAP |
Component / ArtifactId / URI |
Description |
---|---|
POP3 / camel-mail pop3://[username@]hostName port][?<options>] |
Receiving email using POP3 and JavaMail |
POP3S / camel-mail pop3s://[username@]hostName port][?<options>] |
... |
SMTP / camel-mail smtp://[username@]hostName[:port][?<options>] |
Sending email using SMTP and JavaMail |
SMTPS / camel-mail smtps://[username@]hostName[:port][?<options>] |
... |
IMAP / camel-mail imap://[username@]hostName[:port][?<options>] |
Receiving email using IMAP |
IMAPS / camel-mail imaps://[username@]hostName[:port][?<options>] |
... |
Maintenance and Monitoring
Component / ArtifactId / URI |
Description |
---|---|
Browse / camel-core browse:someName |
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. |
ControlBus / camel-core controlbus:command[?<options>] |
ControlBus EIP that allows to send messages to Endpoints for managing and monitoring your Camel applications. |
JMX / camel-jmx jmx://platform[?<options>] |
For working with JMX notification listeners |
Nagios / camel-nagios nagios://hostName[:port][?<options>] |
Messaging
Component / ArtifactId / URI |
Description |
---|---|
AMQP / camel-amqp amqp:[queue:|topic:]destinationName[?<options>] |
For Messaging with AMQP protocol |
JavaSpace / camel-javaspace javaspace:jini://hostName[?<options>] |
Sending and receiving messages through JavaSpace |
JT/400 / camel-jt400 jt400://user:pwd@system/<path_to_dtaq>[?<options>] |
For integrating with data queues on an AS/400 (aka System i, IBM i, i5, ...) system |
Kestrel / camel-kestrel kestrel://[addresslist/]queueName[?<options>] |
For producing to or consuming from Kestrel queues |
MQTT / camel-mqtt mqtt:name[?<options>] |
Component for communicating with MQTT M2M message brokers |
SIP / camel-sip sip://user@hostName[:port][?<options>] |
Publish/Subscribe communication capability using the Telecom SIP protocol. RFC3903 - Session Initiation Protocol (SIP) Extension for Event |
SIPS / camel-sip sips://user@hostName[:port][?<options>] |
... |
SMPP / camel-smpp smpp://[username@]hostName[:port][?<options>] |
To send and receive SMS using Short Messaging Service Center using the JSMPP library |
SMPPS / camel-smpp smpps://[username@]hostName[:port][?<options>] |
... |
SNMP / camel-snmp snmp://hostName[:port][?<options>] |
Polling OID values and receiving traps using SNMP via SNMP4J library |
Quickfix / camel-quickfix quickfix:configFile[?<options>] |
Implementation of the QuickFix for Java engine which allow to send/receive FIX messages |
Networking
Component / ArtifactId / URI |
Description |
---|---|
MINA / camel-mina mina:[tcp|udp|vm]:host[:port][?<options>] |
Working with Apache MINA 1.x |
MINA2 / camel-mina2 mina2:[tcp|udp|vm]:host[:port][?<options>] |
Working with Apache MINA 2.x |
TCP / camel-mina mina:tcp://host:port[?<options>] |
Working with TCP protocols using Apache MINA |
UDP / camel-mina mina:udp://host:port[?<options>] |
Working with UDP protocols using Apache MINA |
HL7 / camel-hl7 mina2:tcp://hostName[:port][?<options>] |
For working with the HL7 MLLP protocol and the HL7 model using the HAPI library |
Netty
Component / ArtifactId / URI |
Description |
---|---|
Netty / camel-netty netty:<tcp|udp>//host[:port][?<options>] |
Working with TCP and UDP protocols using Java NIO based capabilities offered by the Netty project |
Netty HTTP / camel-netty-http netty-http:http:[port]/context-path[?<options>] |
Netty HTTP server and client using the Netty project |
OSGI
Component / ArtifactId / URI |
Description |
---|---|
EventAdmin / camel-eventadmin eventadmin:topic[?<options>] |
Receiving OSGi EventAdmin events |
Pax-Logging / camel-paxlogging paxlogging:appender |
Receiving Pax-Logging events in OSGi |
Routing
Component / ArtifactId / URI |
Description |
---|---|
Context / camel-context context:camelContextId:localEndpointName[?<options>] |
Used to refer to endpoints within a separate CamelContext to provide a simple black box composition approach so that routes can be combined into a CamelContext and then used as a black box component inside other routes in other CamelContexts |
Routebox / camel-routebox routebox:routeBoxName[?<options>] |
Facilitates the creation of specialized endpoints that offer encapsulation and a strategy/map based indirection service to a collection of camel routes hosted in an automatically created or user injected camel context |
Security
Component / ArtifactId / URI |
Description |
---|---|
Crypto (Digital Signatures) / camel-crypto crypto:<sign|verify>:name[?<options>] |
Used to sign and verify exchanges using the Signature Service of the Java Cryptographic Extension. |
XML Security / camel-xmlsecurity xmlsecurity:<sign|verify>:name[?<options>] |
Used to sign and verify exchanges using the XML signature specification. |
Search Engines
Component / ArtifactId / URI |
Description |
---|---|
ElasticSearch / camel-elasticsearch elasticsearch://clusterName[?<options>] |
For interfacing with an ElasticSearch server. |
Lucene / camel-lucene lucene:searcherName:<insert|query>[?<options>] |
Uses Apache Lucene to perform Java-based indexing and full text based searches using advanced analysis/tokenization capabilities |
SOLR / camel-solr solr://hostName[:port]/solr[?<options>] |
Uses the Solrj client API to interface with an Apache Lucene Solr server |
Social Media
Component / ArtifactId / URI |
Description |
---|---|
Facebook / camel-facebook facebook://endpoint[?<options>] |
Providing access to all of the Facebook APIs accessible using Facebook4J |
Twitter / camel-twitter twitter://endpoint[?<options>] |
A twitter endpoint |
Yammer / camel-yammer yammer://function[?<options>] |
Allows you to interact with the Yammer enterprise social network |
Spring
Component / ArtifactId / URI |
Description |
---|---|
Spring Event / camel-spring spring-event://default |
Working with Spring ApplicationEvents |
SpringBatch / camel-spring-batch spring-batch:jobName[?<options>] |
To bridge Camel and Spring Batch |
SpringIntegration / camel-spring-integration spring-integration:defaultChannelName[?<options>] |
The bridge component of Camel and Spring Integration |
Spring Redis / camel-spring-redis spring-redis://hostName:port[?<options>] |
Component for consuming and producing from Redis key-value store Redis |
Templates
Component / ArtifactId / URI |
Description |
---|---|
FreeMarker / camel-freemarker freemarker:templateName[?<options>] |
Generates a response using a FreeMarker template |
Mustache / camel-mustache mustache:templateName[?<options>] |
Generates a response using a Mustache template |
MVEL / camel-mvel mvel:templateName[?<options>] |
Generates a response using an MVEL template |
Scalate / scalate-camel scalate:templateName |
Uses the given Scalate template to transform the message |
StringTemplate / camel-stringtemplate string-template:templateName[?<options>] |
Generates a response using a String Template |
Spring Redis / camel-spring-redis spring-redis://hostName:port[?<options>] |
Component for consuming and producing from Redis key-value store Redis |
Testing
Component / ArtifactId / URI |
Description |
---|---|
DataSet / camel-core dataset:name[?<options>] |
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 |
Mock / camel-core mock:name[?<options>] |
For testing routes and mediation rules using mocks |
Stub / camel-core stub:someOtherCamelUri[?<options>] |
Allows you to stub out some physical middleware endpoint for easier testing or debugging |
Test / camel-spring test:expectedMessagesEndpointUri[?<options>] |
Creates a Mock endpoint which expects to receive all the message bodies that could be polled from the given underlying endpoint |
XML
Component / ArtifactId / URI |
Description |
---|---|
Bean Validation / camel-bean-validator bean-validator:something[?<options>] |
Validates the payload of a message using the Java Validation API (JSR 303 and JAXP Validation) and its reference implementation Hibernate Validator |
FOP / camel-fop fop:outputFormat[?<options>] |
Renders the message into different output formats using Apache FOP |
MSV / camel-msv msv:someLocalOrRemoteResource[?<options>] |
Validates the payload of a message using the MSV Library |
RNC / camel-jing rnc:/relativeOrAbsoluteUri[?<options>] |
Validates the payload of a message using RelaxNG Compact Syntax |
RNG / camel-jing rng:/relativeOrAbsoluteUri[?<options>] |
Validates the payload of a message using RelaxNG |
StAX / camel-stax stax:(contentHandlerClassName|#myHandler) |
Process messages through a SAX ContentHandler. |
XQuery / camel-saxon xquery:someXQueryResource |
Generates a response using an XQuery template |
XSLT / camel-core (camel-spring for Camel 2.8 or older) xslt:templateName[?<options>] |
Generates a response using an XSLT template |
Validation / camel-core (camel-spring for Camel 2.8 or older) validation:someLocalOrRemoteResource[?<options>] |
Validates the payload of a message using XML Schema and JAXP Validation |
Web Services and Remoting
Component / ArtifactId / URI |
Description |
---|---|
CXF / camel-cxf cxf:<bean:cxfEndpoint|//someAddress>[?<options>] |
Working with Apache CXF for web services integration |
CXF Bean / camel-cxf cxfbean:serviceBeanRef[?<options>] |
Proceess the exchange using a JAX WS or JAX RS annotated bean from the registry. Requires less configuration than the above CXF Component |
CXFRS / camel-cxf cxfrs:<bean:rsEndpoint|//address>[?<options>] |
Working with Apache CXF for REST services integration |
Restlet / camel-restlet restlet:restletUrl[?<options>] |
Component for consuming and producing Restful resources using Restlet |
RMI / camel-rmi rmi://hostName[:port][?<options>] |
Working with RMI |
Spring Web Services / camel-spring-ws spring-ws:[mapping-type:]address[?<options>] |
Client-side support for accessing web services, and server-side support for creating your own contract-first web services using Spring Web Services |
Websocket / camel-websocket websocket://hostname[:port][/resourceUri][?<options>] |
Communicating with Websocket clients |
Platform support
Component / ArtifactId / URI |
Description |
---|---|
APNS / camel-apns apns:<notify|consumer>[?<options>] |
For sending notifications to Apple iOS devices |
Salesforce / camel-salesforce salesforce:topic[?<options>] |
To integrate with Salesforce |
SAP NetWeaver / camel-sap-netweaver sap-netweaver:hostName[:port][?<options>] |
To integrate with SAP NetWeaver Gateway |
Vertx / camel-vertx vertx:eventBusName |
Working with the vertx event bus |
Special support
Component / ArtifactId / URI |
Description |
---|---|
Avro / camel-avro avro:[transport]:[host]:[port][/messageName][?<options>] |
Working with Apache Avro for data serialization. |
Cache / camel-cache cache://cacheName[?<options>] |
The cache component facilitates creation of caching endpoints and processors using EHCache as the cache implementation. |
Geocoder / camel-geocoder geocoder:<address|latlng:latitude,longitude>[?<options>] |
Supports looking up geocoders for an address, or reverse lookup geocoders from an address. |
hazelcast://[type]:cachename[?<options>] |
Hazelcast is a data grid entirely implemented in Java (single jar). This component supports map, multimap, seda, queue, set, atomic number and simple cluster support. |
RCode / camel-rcode in camel-extra rcode://host[:port]/operation[?options] |
Uses Rserve to integrate Camel with the statistics environment R |
Weather / camel-weather wweather://name[?<options>] |
Polls the weather information from Open Weather Map |
Miscellaneous
Component / ArtifactId / URI |
Description |
---|---|
Activiti / activiti-camel activiti:camelProcess:serviceTask |
For working with Activiti, a light-weight workflow and Business Process Management (BPM) platform which supports BPMN 2 |
Esper / camel-esper in camel-extra esper:name |
Working with the Esper Library for Event Stream Processing |
jclouds / camel-jclouds jclouds:<blobstore|compute>:[provider id][?<options>] |
For interacting with cloud compute & blobstore service via jclouds |
JCIFS / camel-jcifs in camel-extra smb://user@server.example.com/sharename?password=secret&localWorkDirectory=/tmp |
This component provides access to remote file systems over the CIFS/SMB networking protocol by using the JCIFS library. |