Red Hat Fuse IDE

Version 6.0

Trademark Disclaimer
Third Party Acknowledgements

29 Mar 2013

Revision History

Table of Contents

Using the Red Hat Fuse IDE Tools
I. Developing Applications
Design Time Tooling
The route editor
Creating projects, routes, and test cases
Exercising routes
Creating a New Fuse Project
Creating a New Camel XML file
Editing a routing context in the route editor
Adding routes to the routing context
Adding patterns to a route
Connecting patterns to make a route
Configuring a pattern
Rearranging patterns on the canvas
Removing patterns from a route
Disconnecting two patterns
Deleting a route
Adding beans and configuration
Configuring the route editor
Creating a new Apache Camel JUnit test case
The Source View
Running routes inside Red Hat Fuse IDE
Running routes using Maven
Running routes as a local Camel context
Working with runtime profiles
Deploying Projects to a Container
Using a Container's Deploy Folder
Deploying a Project to a JMX Connected Container
Deploying a Project to a Fabric Container
II. Debugging
Debugging tooling
The Fuse Integration perspective
Infrastructure monitoring
Route debugging
JMS browsing
Opening the Fuse Integration Perspective
The Fuse JMX Navigator
Viewing Processes in JMX
Adding a JMX server
Viewing a component's properties
Browsing messages
Tracing messages through routes
Creating test messages for route tracing
Activating route tracing
Tracing messages through a route
Deactivating route tracing
Managing JMS destinations
Adding a JMS destination
Deleting a JMS destination
Managing routing endpoints
Adding a routing endpoint
Deleting a routing endpoint
Editing running routes
Managing routing contexts
Suspending a routing context
Resuming a routing context
Shutting down a routing context
Managing servers
Adding a Server
Starting a Server
Stopping a Server
Deleting a Server
III. Working with Fabrics
The Fuse Fabric perspective
Setting up a Fabric Environment
Specifying and Connecting to a Fabric
Adding fabric details
Connecting to a fabric
Disconnecting from a fabric
Editing a fabric's details
Deleting a fabric's details
Working with Fabric Containers
Creating a new child container
Creating a container on a remote host
Creating a new container on a cloud
Starting a container
Changing a Container's Profiles
Stopping a container
Deleting a container
Working with Fabric Profiles
Creating a new profile
Deleting a profile
Working with Versions
Creating a new version of a profile
Setting a container's version
Creating a Fabric in the Cloud
Adding cloud details
Specifying fabric details
Wizard field references
New Camel XML File — Creates a new XML file for editing routes with the route editor
New Fuse Project — Creates a new Fuse project
New Fuse Project — Creates a new Fuse project
New Fuse Message — Creates a new message to use in route tracing
New Camel JUnit Test Case — Configures the JUnit artifacts created to test a Apache Camel route.
Test Endpoints — Lists the endpoints that can be tested by a JUnit test case.
Define a New Server — Defines a new server instance.
New Server Configuration — Configures access details for the server.
Add and Remove — Specifies the resources available to a server.
Fabric Details — Specifies information needed to connect to a fabric.
Create Child Container — Specifies information needed to create a container on the local host.
Create Container via SSH — Specifies information needed to create a container on a remote host.
Create Container in a Cloud — Specifies information needed to create a container in a cloud.
Create Version — Specifies the identifier for the new version of the fabric's profiles.
Cloud Details — Specifies information needed to connect to a cloud.
Create Fabric in the Cloud — Specifies information needed to create a fabric in a cloud.
Developer Tools preferences
Deploy Folders — Configures the hot deployment folders for the containers into which routes can be deployed.
Editor — Sets the default value for some route editor properties.
Fuse JMX Navigator — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties view
Tools — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties panel
Expression and Predicates Languages
Introduction
Constant
The Unified Expression Language(EL)
Groovy
Header
JavaScript
MVEL
The Object-Graph Navigation Language(OGNL)
PHP
Property
Python
Ruby
The Simple Language
Basic syntax
OGNL expressions
Predicates
SQL
XPath
XQuery
Enterprise Integration Pattern Reference
Route Editor Patterns
Endpoints
Endpoint — Act as either a message source or a message sink
Bean — Binds a bean to Camel message exchanges
Log — Creates log messages using the Simple language
Process — Process the message using a custom processor
Routing
Aggregate — Aggregates many messages into a single message
Choice — Routes messages based on a series of predicates
Dynamic Router — Routes messages based on rules specified by the recipients at start up
Filter — Filters messages before passing them to a resource
Idempotent Consumer — Filters out duplicate messages
Load Balance — Balances message processing among a number of nodes
Multicast — Routes a message to a number of endpoints
Otherwise — Route to be executed when all other choices evaluate to false
Pipeline — Executes a sequence of processors in order
Recipient List — Routes messages to a number of dynamically specified recipients
Resequence — Resequences messages based on an expression
Routing Slip — Routes a message through a series of steps that are determined at runtime
Sort — Sorts the contents of the message
Split — Sorts the contents of the message
When — Triggers a route when an expression evaluates to true
Wire Tap — Routes a copy of a message to a secondary destination while passing the original message to the actual recipient, or it creates a new message and passes that to the recipient.
Control Flow
Catch — Catches exceptions as part of a try, catch, finally block
Delay — Delays processing for a specified length of time
Finally — Node traversed when a try, catch, finally block exits
Intercept — Intercepts a message at each step in the route
Intercept From — Intercepts incoming messages
Intercept Send To Endpoint — Intercepts messages sent to an endpoint
Loop — Processes a message multiple times
On Completion — Route to be executed when normal route processing completes
On Exception — Route to be executed when an exception is thrown
Rollback — Forces a rollback of a route
Throttle — Controls the rate at which messages are passed to the next node in the route
Throw Exception — Throws an exception
Transacted — Marks a route as a transaction
Try — Marks the beginning of a Try, Catch, Finally block
Transformation
Convert Body — Converts the message body to a form usable by the next endpoint
Enrich — Enriches a message with data from a secondary resource
In Only — Marks the exchange pattern for the route to one way (Event Message pattern)
In Out — Marks the exchange pattern for the route to request/reply
Marshal — Marshals data into a specified format for transmission over a transport or component
Poll Enrich — Enriches messages with data retrieved from a polling consumer
Remove Header — Removes a named header from the message
Remove Headers — Removes message headers whose name matches a specified pattern
Remove Property — Removes a named property from the message exchange
Set Body — Sets the contents of the message body
Set Exchange Pattern — Sets the exchange pattern for the route
Set Fault Body — Sets the contents of a fault message's body
Set Header — Sets the value of a message header
Set Out Header — Sets the value of a header on the outbound message
Set Property — Sets a named property on the message exchange
Transform — Transforms the message based on an expression
Unmarshal — Converts the message data received from the wire into a format that Apache Camel processors can consume
Miscellaneous
AOP — Does processing before and/or after the route is completed
Policy — Defines a policy the route will use
Sampling — Extract a sample of the exchanges passing through a route
Stop — Stops the processing of the current message
Threads — Specifies that all steps after this node are processed asynchronously
Validate — Validates a message based on an expression
Route Icon
Endpoint Reference
Table of Components
Apache CXF Endpoints
CXF — uses Apache CXF to interact with JAX-WS Web services
CXF Bean — allows other Apache CXF endpoints to send exchanges and invoke Web service bean objects
CXF REST — provides integration for linking with JAX-RS based RESTful services
File Endpoints
ActiveMQ Journal — stores messages in rolling log file for later processing
File — provides access to file systems
FTP/SFTP — provides access to remote file systems over the FTP and SFTP protocols
HDFS — enables you to read and write messages from/to an HDFS file system
Google App Engine Endpoints
GAuth — implement a Google-specific OAuth consumer
GHTTP — provides connectivity to the GAE URL fetch service but can also be used to receive messages from servlets
GLogin — allows for programmatic login to GAE applications
GMail — supports sending of emails via the GAE mail service
GTask — supports asynchronous message processing on GAE by using the task queueing service as message queue
HTTP Endpoints
HTTP — provides endpoints for consuming external HTTP resources
HTTP4 — provides endpoints for consuming external HTTP resources using Apache HttpClient 4.x
Jetty — provides endpoints for consuming HTTP requests
Restlet — provides Restlet-based endpoints for consuming and producing RESTful resources
Servlet — provides support for HTTP endpoints that are published as servlets
Internal Endpoints
Direct — provides a synchronous connection to any consumer in the same camelContext element
Seda — provides an asynchronous connection to any consumer in the same camelContext element
VM — provides an asynchronous connection to consumers in other camelContext elements
Messaging Endpoints
ActiveMQ — allows messages to be sent to or consumed from a JMS destination using Red Hat JBoss A-MQ
AMQP — supports the AMQP protocol
IRC — sends and receives messages using the IRC protocol
JMS — allows message to be sent to or consumed from JMS destinations
Mail — provides access to e-mail systems
MSMQ — works with Microsoft Message Queuing
SIP — supports the SIP Publish and Subscribe capability as described in the [RFC3903 - Session Initiation Protocol (SIP) Extension for Event]
SMPP — provides access to an SMSC (Short Message Service Center) over the SMPP protocol
XMPP — allows for sending and receiving messages over the XMPP transport
Scheduling Endpoints
Quartz — provides a scheduled delivery of messages using the Quartz scheduler
Timer — generates message exchanges when a timer fires
Testing Endpoints
Mock — provides a declarative framework for testing routes
Test — a mock endpoint that tests messages based on a set of expected messages
Atom Component
AVRO
Bean
Bean Validation
Browse
Cache
Class
Cometd
Context
Crypto (Digital Signatures)
DataSet
Db4o
DNS
EJB
Esper
Event
Exec
Flatpack
Freemarker
Hazelcast Component
Hibernate
iBATIS
JavaSpace
JBI
JCR
JDBC
Jing
JMX
JPA
Jsch
JT400
Language
LDAP
List
Log
Lucene
MINA Component
MSV
MyBatis
Nagios
Netty
NMR
Printer
Properties
Quickfix
Ref
Routebox
RMI
RSS
Scalate
SNMP
Solr
Spring Integration
Spring Web Services
SQL Component
Stream
StringTemplate
Validation
Velocity
XQuery Endpoint
XSLT