# Red Hat Fuse IDE

Version 6.0

Copyright © 2012 Red Hat, Inc. and/or its affiliates.

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