# Table of Components

Red Hat Fuse IDE allows you to work with all of the Apache Camel endpoints.

Table 1, “Apache Camel Endpoints” summarizes the Apache Camel endpoints available when using Red Hat Fuse IDE.

Table 1. Apache Camel Endpoints

Component | Endpoint URI | Description
--- | --- | ---
ActiveMQ | `activemq:[queue:|topic:]`DestinationName`` | Connects to JMS destinations using Apache ActiveMQ.
ActiveMQ Journal | `activemq.journal:`DirectoryName`[?`Options`]` | Uses ActiveMQ's fast disk journaling implementation to store message bodies in a rolling log file.
AMQP | `amqp:[queue:|topic:]`DestinationName`[?`Options`]]` | Connects to messaging systems using the AMQP protocol.
Atom | `atom://`AtomUri`[?`Options`]` | Connects to or publishes Atom feeds using Apache Abdera.
Bean | `bean:`BeanID`[?methodName=`Method`]` | Uses the Bean Binding to bind message exchanges to beans in the Registry. Can also be used for exposing and invoking POJOs.
Bean Validation | `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.
Browse | `browse:` `Name` | 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.
Cache | `cache://`CacheName`[?`Options`]` | Enables you to perform caching operations using EHCache as the cache implementation.
Class | `class:`className`[?method=`someMethod`]` | Uses the Bean Binding to bind message exchanges to beans in the Registry. Is also used for exposing and invoking POJOs.
Cometd | `cometd://`Hostname`[:`Port`]/`ChannelName`[?`Options`]` | Supports the Jetty implementation of the cometd/bayeux protocol.
Crypto | `crypto:sign:`Name`[?`Options`]` `crypto:verify:`Name`[?`Options`]` | Signs and verifies exchanges using the Signature Service of the Java Cryptographic Extension.
CXF | `cxf://`Address`[?`Options`]` | Uses Apache CXF for Web services integration.
CXF Bean | `cxf:`beanName`[?`Options`]` | Proceess the exchange using a JAX-WS or JAX-RS annotated bean from the registry.
CXFRS | `cxfrs:bean:`RsEndpoint`[?`Options`]` | Uses Apache CXF to connect to JAX-RS services hosted in Apache CXF.
DataSet | `dataset:`Name`[?`Options`]` | Provides a way to create large numbers of messages for sending to components or asserting that they are consumed correctly.
Db4o | `db4o://`className`` | For using a db4o datastore as a queue via the db4o library.
Direct | `direct:`EndpointID`[?`Options`]` | Ensures direct invocation of the consumer from the producer so that single threaded in-VM invocation is performed.
Esper | `esper:name` | Supports using the Esper Library for Event Stream Processing.
Event | `event://default` `spring-event://default` | Works with Spring `ApplicationEvents`.
Exec | `exec://`Executable`[?`Options`]` | Executes system commands.
File | `file://`DirectoryName`[?`Options`]` | Sends messages to a file or polls a file or directory.
Flatpack | `flatpack:[fixed|delim]:`ConfigFile`` | Processes fixed width or delimited files or messages using the FlatPack library.
Freemarker | `freemarker:`TemplateResource`` | Generates a response using a Freemarker template.
FTP2 | `ftp://[`Username`@]`Hostname`[:`Port`]/`Directoryname`[?`Options`]` | Sends and receives files over FTP.
GAuth | `gauth://`Name`[?`Options`]` | Implements a Google-specific OAuth consumer for Web applications.
GHTTP | `ghttp:///`Path`[?`Options`]` `ghttp://`Hostname`[:`Port`]/`Path`[?`Options`]` `ghttps://`Hostname`[:`Port`]/`Path`[?`Options`]` | Provides connectivity to the GAE URL fetch service and can also be used to receive messages from servlets.
GLogin | `glogin://`Hostname`[:`Port`][?`Options`]` | Allows Apache Camel applications outside Google App Engine (GAE) to programmatically login to GAE applications.
GMail | `gmail://`Username`@gmail.com[?`Options`]` `gmail://`Username`@googlemail.com[?`Options`]` | Sends e-mails via the GAE mail service.
GTask | `gtask://`QueueName`` | Supports asynchronous message processing on GAE using the task queueing service as a message queue.
HDFS | `hdfs://`Path`[?`Options`]` | Reads from and writes to HDFS file systems.
Hibernate | `hibernate://`EntityName`` | Uses a database as a queue via the Hibernate library.
HTTP | `http://`Hostname`[:`Port`][/`ResourceUri`]` | Calls out to external HTTP servers.
HTTP4 | `http4://`Hostname`[:`Port`][/`ResourceUri`]` | Calls out to external HTTP servers using the Apache HttpClient 4.x.
iBATIS | `ibatis:`OperationName`[?`Options`]` | Performs a query, poll, insert, update or delete in a relational database using Apache iBATIS.
IMap | `imap://[`UserName`@]`Host`[:`Port`][?`Options`]` | Receives e-mail using IMAP.
IRC | `irc:`Host`[:`Port`]/#`Room`` | Uses IRC communication.
JavaSpace | `javaspace:jini://`Host`[?`Options`]` | Sends and receives messages through JavaSpace.
JBI | `jbi:service:serviceNamespace[sep]serviceName` `jbi:endpoint:serviceNamespace[sep]serviceName[sep]endpointName` `jbi:name:endpointName` | Integrates with JBI endpoints.
JCR | `jcr://`UserName`:`Password`@`Repository`/path/to/node` | Stores messages in a JCR (JSR-170) compliant repository like Apache Jackrabbit.
JDBC | `jdbc:`DataSourceName`[?`Options`]` | Performs JDBC queries and operations.
Jetty | `jetty:http://`Host`[:`Port`][/`ResourceUri`]` | Exposes services over HTTP.
Jing | `rng:`LocalOrRemoteResource`` `rnc:`LocalOrRemoteResource`` | Validates the payload of a message using RelaxNG or RelaxNG compact syntax.
JMS | `jms:[temp:][queue:|topic:]`DestinationName`[?`Options`]` | Connects to generic JMS providers.
JPA | `jpa:[`EntityClassName`][?`Options`]` | Uses a database as a queue via the JPA specification for working with OpenJPA, Hibernate or TopLink.
JT400 | `jt400://`User`:`Pwd`@`System`/`PathToDTAQ`` | Integrates with data queues on an AS/400 (aka System i, IBM i, i5, ...) system.
Language | `language://`languageName`[:`script`][?`options`]` | Executes Languages scripts.
LDAP | `ldap:`Host`[:`Port`]?base=...[&scope=`Scope`]` | Performs searches on LDAP servers.
List | `list:`ListID`` | 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`]` | 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`]` | Uses Apache Lucene to perform Java-based indexing and full text based searches using advanced analysis/tokenization capabilities.
MINA | `mina:tcp://`Hostname`[:`Port`][?`Options`]` `mina:udp://`Hostname`[:`Port`][?`Options`]` `mina:multicast://`Hostname`[:`Port`][?`Options`]` `mina:vm://`Hostname`[:`Port`][?`Options`]` | Works with Apache MINA.
Mock | `mock:`EndpointID`` | Creates mock endpoints for testing routes and mediation rules.
MSMQ | `msmq:`MsmqQueueName`[?`Options`]` | Sends and receives messages with Microsoft Message Queuing.
MSV | `msv:`LocalOrRemoteResource`` | Validates the payload of a message using the MSV Library.
Nagios | `nagios://`Host`[:`Port`][?`Options`]` | Sends passive checks to Nagios using JSendNSCA.
Netty | `netty:tcp://localhost:99999[?`Options`]` `netty:udp://`Remotehost`:99999/[?`Options`]` | Works with TCP and UDP protocols using Java NIO based capabilities offered by the JBoss Netty community project.
NMR | `nmr:`serviceMixURI`` | Supports OSGi integration when working with Red Hat JBoss Fuse. Enables you to specify the URI of a ServiceMix endpoint.
POP | `pop3://[`UserName`@]`Host`[:`Port`][?`Options`]` | Receives e-mail using POP3 and JavaMail.
Printer | `lpr://localhost[:`Port`]/default[?`Options`]` `lpr://`RemoteHost`[:`Port`]/path/to/printer[?`Options`]` | Directs payloads on a route to a printer.
Properties | `properties://`Key`[?`Options`]` | Facilitates using property placeholders directly in endpoint URI definitions.
Quartz | `quartz://[`GroupName`/]`TimerName`[?`Options`]` `quartz://`GroupName`/`TimerName`/`CronExpression`` | Provides for scheduled delivery of messages using the Quartz scheduler.
Quickfix | `quickfix-server:`ConfigFile`` `quickfix-client:`ConfigFile`` | Sends and receives FIX messages.
Ref | `ref:`EndpointID`` | Looks up existing endpoints bound in the Registry.
Restlet | `restlet:`RestletUrl`[?`Options`]` | Consumes and produces RESTful resources using Restlet.
RMI | `rmi://`RmiRegistryHost`:`RmiRegistryPort`/`RegistryPath`` | Works with RMI.
RSS | `rss:`Uri`` | Consumes RSS feeds using ROME.
RNC | `rnc:`LocalOrRemoteResource`` | Validates the payload of a message using RelaxNG Compact Syntax.
RNG | `rng:`LocalOrRemoteResource`` | Validates the payload of a message using RelaxNG.
Scalate | `scalate:`TemplateName`[?`Options`]` | Transforms message using Scalate templates.
SEDA | `seda:`EndpointID`` | Delivers messages to a `java.util.concurrent.BlockingQueue`. This is useful when creating SEDA style processing pipelines within the same CamelContext.
SERVLET | `servlet://`RelativePath`[?`Options`]` | Provides HTTP based endpoints for consuming HTTP requests that arrive at a HTTP endpoint and this endpoint is bound to a published Servlet.
SFTP | `sftp://[`Username`@]`Hostname`[:`Port`]/`Directoryname`[?`Options`]` | Sends and receives files over SFTP.
SIP | `smpp://`UserInfo`@`Host`[:`Port`][?`Options`]` | Sends and receives SMS through Short Messaging Service Center using the JSMPP library.
SMPP | `sip://`user`@`host`[:`port`]?[`options`]` `sips://`user`@`host`[:`port`]?[`options`]` | Publish/Subscribe communication capability using the Telecom SIP protocol.
SMTP | `smtp://[`UserName`@]`Host`[:`Port`][?`Options`]` | Sends e-mail using SMTP and JavaMail.
SNMP | `snmp://`Hostname`[:`Port`][?`Options`]` | Polls SNMP capable devices or receive traps.
Spring Integration | `spring-integration:`DefaultChannelName`[?`Options`]` | Bridges Camel and Spring Integration.
Spring Web Services | `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.
SQL | `sql:`SqlQueryString`[?`Options`]` | Performs SQL queries using JDBC.
Stream | `stream:[in|out|err|header][?`Options`]` | Reads or writes to an input/output/error/file stream.
String Template | `string-template:`TemplateURI`[?`Options`]` | Generates a response using a String Template.
Test | `test:`RouterEndpointUri`` | 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`]` | Creates a timer endpoint.
Validation | `validator:`LocalOrRemoteResource`` | Validates the payload of a message using XML Schema and JAXP Validation.
Velocity | `velocity:`TemplateURI`[?`Options`]` | Generates a response using an Apache Velocity template.
VM | `vm:`EndpointID`` | Deliver messages to a `java.util.concurrent.BlockingQueue`, useful when creating SEDA style processing pipelines within the same JVM.
XMPP | `xmpp:`Hostname`[:`Port`][/`Room`]` | Works with XMPP and Jabber.
XQuery | `xquery:`TemplateURI`` | Generates a response using an XQuery template.
XSLT | `xslt:`TemplateURI`[?`Options`]` | Transforms a message using an XSLT script.