Red Hat JBoss Fuse

Tooling User Guide

Developing and Debugging Applications

Red Hat

Version 6.1

Legal Notice

Trademark Disclaimer

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.

Legal Notice

Third Party Acknowledgements

One or more products in the Red Hat JBoss Fuse Tooling for Eclipse release includes third party components covered by licenses that require that the following documentation notices be provided:
  • JLine (http://jline.sourceforge.net) jline:jline:jar:1.0
    License: BSD (LICENSE.txt) - Copyright (c) 2002-2006, Marc Prud'hommeaux
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JLine nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Stax2 API (http://woodstox.codehaus.org/StAX2) org.codehaus.woodstox:stax2-api:jar:3.1.1
    Copyright (c) <YEAR>, <OWNER> All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • jibx-run - JiBX runtime (http://www.jibx.org/main-reactor/jibx-run) org.jibx:jibx-run:bundle:1.2.3
    License: BSD (http://jibx.sourceforge.net/jibx-license.html) Copyright (c) 2003-2010, Dennis M. Sosnoski.
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JiBX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • JavaAssist (http://www.jboss.org/javassist) org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compile
  • HAPI-OSGI-Base Module (http://hl7api.sourceforge.net/hapi-osgi-base/) ca.uhn.hapi:hapi-osgi-base:bundle:1.2
    License: Mozilla Public License 1.1 (http://www.mozilla.org/MPL/MPL-1.1.txt)
01 Dec 2014

Abstract

This guide describes how to use Red Hat JBoss Fuse ToolingRed Hat JBoss Fuse IDE, which provides developer tools designed to increase your productivity when designing, developing, testing, and debugging your integration applications.
About Red Hat JBoss Fuse Tooling
I. Developing Applications
1. Design Time Tooling
1.1. The route editor
1.2. Creating projects, routes, and test cases
1.3. Exercising routes
2. Creating a New Fuse Project
3. Creating a New Camel XML file
4. Editing a routing context in the route editor
4.1. Adding routes to the routing context
4.2. Adding patterns to a route
4.2.1. Drag and drop a pattern
4.2.2. Using the context menu
4.3. Connecting patterns to make a route
4.4. Configuring a pattern
4.5. Rearranging patterns on the canvas
4.5.1. Rearranging patterns by dragging them
4.5.2. Automatically aligning patterns
4.6. Removing patterns from a route
4.7. Disconnecting two patterns
4.8. Deleting a route
4.9. Adding beans and configuration
4.10. Configuring the route editor
5. Creating a new Apache Camel JUnit test case
6. The Source View
7. Running routes inside Red Hat JBoss Fuse Tooling
7.1. Running routes using Maven
7.2. Running routes as a local Camel context
7.3. Working with runtime profiles
7.3.1. Editing a Local Camel Context runtime profile
7.3.2. Editing a Maven runtime profile
II. Debugging and Deploying Applications
8. Debugging tooling
8.1. The Fuse Integration perspective
8.2. Infrastructure monitoring
8.3. Route debugging
8.4. JMS browsing
9. Opening the Fuse Integration Perspective
10. The Fuse JMX Navigator
10.1. Viewing Processes in JMX
10.2. Adding a JMX server
11. Deploying Projects to a Container
11.1. Using a Container's Deploy Folder
11.1.1. Configuring a Container's Deploy Folder
11.1.2. Deploying a Project to a Container's Deploy Folder
11.2. Deploying a Project to a JMX Connected Container
11.3. Deploying a Project to a Fabric Container
12. Viewing a component's properties
13. Browsing messages
14. Tracing messages through routes
14.1. Creating test messages for route tracing
14.2. Activating route tracing
14.3. Tracing messages through a route
14.4. Deactivating route tracing
15. Managing JMS destinations
15.1. Adding a JMS destination
15.2. Deleting a JMS destination
16. Managing routing endpoints
16.1. Adding a routing endpoint
16.2. Deleting a routing endpoint
17. Editing running routes
18. Managing routing contexts
18.1. Suspending a routing context
18.2. Resuming a routing context
18.3. Shutting down a routing context
19. Managing servers
19.1. Adding a Server
19.2. Starting a Server
19.3. Stopping a Server
19.4. Deleting a Server
III. Working with Fabrics
20. The Fabric8 perspective
21. Setting up a Fabric Environment
22. Specifying and Connecting to a Fabric
22.1. Adding fabric details
22.2. Connecting to a fabric
22.3. Disconnecting from a fabric
22.4. Editing a fabric's details
22.5. Deleting a fabric's details
23. Working with Fabric Containers
23.1. Creating a new child container
23.2. Creating a container on a remote host
23.3. Creating a new container on a cloud
23.4. Starting a container
23.5. Changing a Container's Profiles
23.6. Stopping a container
23.7. Deleting a container
24. Working with Fabric Profiles
24.1. Creating a new profile
24.2. Deleting a profile
25. Working with Versions
25.1. Creating a new version of a profile
25.2. Setting a container's version
26. Creating a Fabric in the Cloud
26.1. Adding cloud details
26.2. Specifying fabric details
A. 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.
B. Tooling 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