Version 2.1
Copyright © 2012 FuseSource Corp. All rights reserved.
Updated: 09 Oct 2012
Table of Contents
List of Figures
List of Tables
You can download Fuse IDE for free and take it for a test drive. However, some of the advanced features are unavailable without a FuseSource subscription.
Features that require a subscription include:
running a route as a local Apache Camel context
deploying routes into containers that support hot deployment
deploying Apache ServiceMix, Fuse ESB Enterprise, and Apache Karaf servers into Fuse IDE
visualizing a deployed integration application using JMX
JMS destination browsing
tracing messages as they pass through routes
creating and working with fabrics
![]() | Tip |
|---|---|
To obtain a trial license, fill out the online registration form at Join the FuseSource Community |
In most cases, Fuse IDE can download and install your license in a single step.
However, if your firewall or proxy settings prevent Eclipse from connecting to the FuseSource Web site to download the license, you can download the license using a Web browser and install it manually.
To register your version of Fuse IDE:
Open the Preferences dialog
MacOS—On the menu bar, select |.
*NIX and Windows—On the menu bar, select |.
In the Preferences dialog's directory tree, select |.
In the Subscription preference panel:
Enter the name associated with your FuseSource subscription in the Name field.
Enter the password associated with your FuseSource subscription in the Password field.
Click to add the license to Fuse IDE.
If your license successfully downloads, the expiration date appears in the field.
![]() | Tip |
|---|---|
This procedure also installs your license file, so you need not click . |
To manually register and download your Fuse IDE license:
On the menu bar, select | to open the Login to FuseSource web page in your Fuse IDE environment.
Scroll down to the Subscriber section, and fill out the form, making sure you enter all required information.
Read and accept the Terms and Conditions.
FuseSource sends a confirmation email with account activation instructions to the email address you entered on the registration form.
In your email account, open the confirmation email, and click the provided link to activate your account.
On the menu bar, select |.
In the Preferences editor's directory tree, select |.
On the Subscription page, click .
In the Open File dialog, find and select the
license.key file you just installed.
Click .
A dialog box confirms that the license installed successfully, and the expiration date of your license appears in the Expiration Date field in the Subscription page
Fuse IDE simplifies and streamlines the process of developing integration applications. It is specifically designed to work with:
Fuse ESB Enterprise
Fuse MQ Enterprise
Apache Camel
Apache CXF
Apache Karaf
Fuse IDE has tools that streamline the process at all stages of application development:
Create a Maven project for your application.
Fuse IDE loads all of the relevant Maven archetypes for creating integration projects using the FuseSource supported Apache projects.
Add new pieces of logic and functionality to an application.
Fuse IDE has a wizard for creating Apache Camel context files.
Edit the integration logic.
Fuse IDE has a visual route editor that makes editing Apache Camel routes as easy as dragging and dropping route components.
Test the application.
Fuse IDE's testing tools provide the full gamut of testing capabilities including:
creating JUnit test cases for Apache Camel routes
JMX analysis of running components
message tracing through Apache Camel routes
Deploy the application.
Fuse IDE can deploy applications to a number of containers.
Table of Contents
By default, Fuse IDE opens in the Java perspective, providing access to Fuse IDE's route editor, the main design time tooling, shown in Figure 2.1.
It consists of four main areas:
Canvas—the large grid area on which routes are constructed
Pallet—the pane to the right of the canvas from which Enterprise Integration Patterns (EIPs) are selected
Project view—the pane on the left side of the canvas, which can display multiple views of the active project. The pane defaults to Package Explorer, which displays the project's folders and files in an hierarchical tree format.
![]() | Tip |
|---|---|
We recommend that you drag Outline view from the upper right side of the
workspace to the lower left side, beneath Package Explorer, to
provide optimal space for the route editor. Outline view
displays, in an outline of EIP icons, the contents of the current
|
Properties editor—the editor in which you configure the selected node's properties. It opens in a tab in the pane below the canvas.
The canvas is route editor's workbench and where you do most of your work. It displays a graphical representation of a route, which is made up of one or more connected EIP patterns (called nodes once they are placed on the canvas). Because the canvas displays only one route at a time, it delineates one route from another. You can add additional routes to your project, but each is displayed separately on its own slice of canvas.
Patterns are typically placed on the canvas by dragging them from the palette. Once on the canvas, a node's properties can be edited in the Properties editor. To do so, you need only select a node to open and populate the Properties editor with the properties that apply to that node. You can also edit a route's properties by clicking the canvas, which opens and populates the Properties editor with the properties that correspond to a single route in the routing context file.
![]() | Tip |
|---|---|
Clicking the Source tab at the lower, left of the canvas displays the XML code generated for the route, which you can then edit. The edits you make in Source view appear on the canvas when you switch back to Design View. |
The Pallet contains all of the patterns needed to construct a route. The Palette groups the patterns into categories according to function:
Endpoints—patterns that start or end a route
Routing—patterns that direct the flow of messages based on specified criteria
Control Flow—patterns that behave like control functions in a programming language. For example, some define loops, some handle error conditions, some handle transactions, and so on.
Transformation—patterns that change the contents of a message as it passes through a route
Miscellaneous—patterns that control the environment in which a route executes. For example, the Threads pattern specifies the number of threads available.
Package Explorer provides access to all of the components that make up a project. It provides the tools for managing, configuring, running, and debugging your project.
Outline view provides a graphical outline of your route components. It enables you to switch easily between routes in a multiroute project. Clicking on a route in Outline view displays it on the route editor's canvas.
Outline view also provides a viewing portal when the route extends beyond the viewable area on the canvas. Sliding the view portal in Outline view over outlier nodes moves the canvas accordingly to bring those nodes into view.
You use the Properties editor to configure the route and each node in it. Each type of node has a set of properties that can or must be set. The Properties editor opens populated with fields that apply to the selected node.
The Properties editor makes it clear which fields are required.
marks any required property that is not set, and the
Properties editor displays an error message stating the number of
required properties that still must be set, as shown in Figure 2.2.
![]() | Tip |
|---|---|
The Properties editor's Documentation tab displays information about how to configure the selected node. |
While you'll spend the majority of your time using the route editor, Fuse IDE includes wizards that facilitate creating the following:
Fuse IDE projects
Apache Camel context files
Apache Camel-specific JUnit tests
Fuse IDE leverages the m2e plug-in's ability to execute Maven archetypes to create starting point projects for working on Apache Camel routes. The New Fuse IDE Project wizard displays the Apache Camel Maven archetype options. Selecting one creates a project that is properly configured for developing Apache Camel applications.
For more information, see Creating a New Fuse IDE Project.
Apache Camel context files are the key piece of any project. They contain the routing rules that form the backbone of an Apache Camel application. Fuse IDE has a simple wizard that creates new Apache Camel context files.
For more information, see Creating a New Camel XML file.
Fuse IDE provides a wizard that generates JUnit code for testing your routes. The wizard makes it easy to select the assertions to test. It also simplifies the process of testing particular endpoints in a route.
For more information, see Creating a new Apache Camel JUnit test case.
Fuse IDE provides a wizard that creates a message that you can use to test a route. You drop the message on Camel endpoints or FuseMQ destinations to track its progress through the route. The wizard creates a skeletal message, which you can edit to customize the content of both the message body and the message header.
For more information, see Creating test messages for route tracing.
In addition to simplifying the process of creating and editing routes, Fuse IDE provides tools to make it easier to run your routes and deploy them into test environments. Using Fuse IDE you can:
run a route using Maven
run a route as a local Apache Camel context
deploy into a running OSGi container
You can run your route with Maven, using Maven's standard goals. This method closely simulates how an Apache Camel project would run outside of Fuse ESB Enterprise.
FuseSource subscribers can run all routes in a context directly inside Fuse IDE without setting up a Maven runtime profile. You can run routes locally with or without running validation tests. Running a context directly inside Fuse IDE does not require that your project be a Maven project.
FuseSource subscribers can also deploy routes into a running OSGi container. Fuse IDE supports deployment into these OSGi containers: Fuse ESB Enterprise v7.0, Apache ServiceMix v4.x, and Apache Karaf v2.x.
Fuse IDE uses Maven archetypes to generate a project with all of the dependencies preconfigured. The archetypes also create the POM file needed to run and deploy your application, as well as sample code and data to get you started.
To create a Fuse IDE project:
Select || to open the New Fuse IDE Project wizard shown in Figure 3.1.
The wizard opens with the Use default workspace location option selected on the location page.
Specify the location where the data for the project will be stored.
To use the default workspace select Use default workspace location.
To use an alternative location deselect Use default workspace location and specify a new location in the provided field.
![]() | Tip |
|---|---|
Clicking |
If you want to add the new project to an Eclipse working set, select Add project(s) to working set and enter the name of the working set.
Click
to open the New Fuse IDE Project
details page shown in
Figure 3.2.
Select a project type from the list.
![]() | Note |
|---|---|
The Fuse IDE route editor works with the following project types:
|
Enter a group ID for the project in the Group Id field.
Fuse IDE uses the group ID to form the first part of the dot-separated package name. For
example, if you enter Demo for the group ID, it appears
in the Package field as Demo..
Enter an artifact ID for the project in the Artifact Id field.
Fuse IDE uses the artifact ID as the name of the project and to form the second part of
the dot-separated package name. For example, if you enter BigRoute for
the artifact ID, it appears in the Package field as
Demo.BigRoute.
Enter a version for the project in the Version field.
If you want to change the package name generated for the artifacts, enter the new package name in the Package field.
Click to create the Maven project, which contains starting point artifacts.
![]() | J2SE-1.5 execution environment |
|---|---|
The new project may generate with a |
Apache Camel stores routes in an XML file that contains a
camelContext element. Fuse IDE includes a wizard that simplifies
adding an Apache Camel context file to your project. It creates a new XML file that has all of
the required namespaces preconfigured and a template camelContext
element.
To add an Apache Camel context file to your project:
Select || from the main menu to open the Camel XML File wizard, as shown in Figure 4.1.
In RouteContainer, enter the location for the new file.
![]() | Tip |
|---|---|
You can click |
![]() | Important |
|---|---|
The Spring framework and the OSGi Blueprint framework require that all Apache Camel
files be placed in specific locations under the project's
|
In File Name, enter a name for the new context file.
The file's name cannot contain spaces or special characters, and it must be unique within the JVM.
In Framework, select the framework the routes will use:
Spring—for routes that will be deployed in Spring containers, non-OSGi containers, or as standalone applications
OSGi Blueprint—for routes that will be deployed in OSGi containers
Routes—for routes that you can load and add into
existing camelContexts
Click .
The new context file is added to the project and opened in the route editor.
Developing a Apache Camel application typically consists of the following tasks:
Adding one or more routes to the routing context.
Adding a starting point pattern to a route.
Adding one or more endpoint patterns to a route.
Adding one or more processor patterns that represent how messages will be transformed and routed between the starting point and endpoint(s).
Connecting the patterns (referred to as nodes once they are placed on the canvas).
Configuring the details for each of the endpoints and processors that make up the route.
Adding any configuration beans to the context.
The camelContext element within an xml context file creates a
routing context. The camelContext element can contain one or more
routes, but the Fuse IDE canvas can display only one of the routes at a time. Therefore the
canvas is each route's delineator, and each route displayed on the canvas maps to a route element in the generated camelContext
element.
When you create a new Fuse Project, Fuse IDE creates a
camelContext.xml file that contains an empty route element within a camelContext element. You can view
and edit the contents of the camelContext.xml file in the route editor's
Source view. In Design view, the route editor presents an empty canvas, which represents the
empty route element. You can drag patterns from the
Palette and drop them onto the canvas to create a route. Fuse IDE updates
the empty route element with xml generated from the patterns you
drop onto the canvas.
Fuse IDE provides three methods for adding a new route:
From the menu bar, by opening the menu, and then selecting
In Design view, by right-clicking the canvas or a node to access the context menu, and then selecting |
In Source view, by adding a <route/> element to the existing list within the
camelContext element
To add another route to the camelContext:
Select one of the methods for adding a route.
In Design view , select |, or manually add the <route/> element to the camelContext element in Source view.
In Design view, a route icon appears in Outline view, and the Properties editor displays the list of the new route's properties for you to edit.
In the Properties editor, enter an ID (for example, Route2) for the new route in the route's ID field.
In Outline view, the new ID displays next to the new route icon.
In the Properties editor, enter a description of the route in the Description field.
On the menu bar, select | to save the changes you made to the routing context file.
![]() | Tip |
|---|---|
To switch between multiple routes, select the route you want to display on the canvas by clicking it in Outline view or by selecting it from the menu on the menu bar. |
Routes consist of a sequence of connected patterns, referred to as nodes once they are placed on the canvas. To add a pattern to a route you can either:
Both methods provide access to all of the available patterns. Dragging patterns from the pallet and dropping them onto the canvas is an easy and convenient way to add multiple patterns to the canvas quickly. Using a node's context menu, you can add and automatically connect a pattern to the node.
The Palette lists all of the available patterns, grouped by function. For example, the Loop pattern is part of the Control Flow group.
You can select any pattern from the Palette and drag it to the canvas, which represents a single route.
To drag a pattern onto a route:
In the Palette, locate the desired pattern.
Select the pattern, drag it to the canvas, and then release the mouse button.
![]() | Tip |
|---|---|
You need not place the pattern in its intended location. You can easily move any node on the canvas by click-dragging it to a new location. |
The new pattern appears on the canvas and becomes the selected node. The Properties editor displays a list of the node's properties for you to edit and configure.
| Route Editor Patterns in Enterprise Integration Pattern Reference |
| Rearranging patterns on the canvas |
| Configuring a pattern |
| Removing patterns from a route |
Nodes on the canvas have a context menu that includes an option for adding new patterns to a route.
To add and connect a pattern to a node in a route:
In the canvas, select the node to which you want to connect the new pattern.
Right-click it to open the context menu.
Select to display the list of patterns that can be connected to the selected node. The patterns are grouped according to function.
Select the pattern to add to the route.
The new pattern is added to the route and automatically linked to the selected node. The new pattern becomes the currently selected node, and the Properties editor displays a list of the node's properties for you to edit and configure.
| Route Editor Patterns in Enterprise Integration Pattern Reference |
| Rearranging patterns on the canvas |
| Configuring a pattern |
| Removing patterns from a route |
Until the patterns on the canvas (referred to as nodes)
are connected, they do not constitute a route. The editor does not save a route element in the context file until all nodes are linked together to form a
complete route. A complete route typically consists of a starting endpoint, a string of
processing nodes, and one or more destination endpoints.
Connecting two nodes on the canvas is as simple as dragging a line from one to the other. Each node has a connector arrow. Selecting a node and dragging its connector arrow to a target node establishes a connection between the two nodes.
To connect two nodes:
On the canvas, select the source node to display its connector arrow.
Click-drag the source node's connector arrow (
) to the target node.
The direction of the connection represents the direction messages flow between the nodes in the route.
While hovering over the target node, release the mouse button to drop the connector on it.
The route editor updates the <route> element with the
xml generated from the connection. You can view the xml in Source view.
When you are done, save your work by selecting | from the menu bar.
Most patterns require some explicit configuration. For example, an endpoint requires an explicitly entered URI.
The Fuse IDE Properties editor provides a form that lists all of the configuration details a particular pattern supports. The Properties editor also provides the following convenience features:
validating that all required properties have values
drop-down lists for properties that have a fixed set of values
drop-down lists that are populated with the available bean references from the Apache Camel Spring configuration
To configure a pattern:
On the canvas, select the node you want to configure.
The Details tab in the Properties editor lists all of the selected node's properties for you to edit. The Documentation tab describes the pattern and each of its properties.
Edit the fields in the Properties editor to configure the node.
When done, save your work by selecting | from the menu bar.
As your route grows and changes, you'll likely need to change how it is laid out on the canvas. Changing the layout does not change the underlying DSL, but it does make it easier to visualize the route.
Fuse IDE provides two ways to rearrange the patterns on the canvas:
You can select one or more nodes on the canvas and click-drag them to a new location. Each node's connections are retained and move along with it. However, the layout of the route will continue to change as it grows in scope and complexity.
To drag a node to a new location on the canvas:
Determine which node or nodes you want to move.
Select one node, or select a group of nodes by click-dragging a box around them.
Click-drag the node or nodes to their new location, then release the mouse button.
![]() | Tip |
|---|---|
You can also rearrange the connectors between nodes to accommodate increasing numbers of patterns on the canvas. Clicking a connector joining two nodes on the canvas reveals a line segmented by a bendpoint. You can click-drag the bendpoint to another location on the canvas while leaving the two nodes in place. Click-dragging a bendpoint creates two new bendpoints on either side of it, further segmenting the connector. This feature makes it easy to organize the nodes in a complex route for visual clarity. |
The command on the canvas' context menu automatically aligns all nodes on the canvas relative to the route's start point. By default, the route editor arranges the nodes in a route from left to right across the canvas, according to the order in which they are connected to each other. It moves the start point to the left edge of the canvas, then aligns the processing nodes and endpoints accordingly.
![]() | Tip |
|---|---|
You can change the default layout direction (). To do so, on the menu bar select ||, and then select from the Choose the layout direction for the diagram editor's drop-down list |
You can continue adding more patterns to your route after you execute the command.
As you develop and update a route, you may need to remove one or more of the route's nodes. The option on the nodes' context menu makes this easy to do. When you delete a node from the canvas, all of its connections with all other nodes on the canvas are also deleted.
![]() | Note |
|---|---|
You can also remove a node by right-clicking it in Outline view and selecting , or by selecting | from the menu bar. |
To remove a node from a route:
Select the node you want to delete.
Right-click it to open the context menu.
Select .
The node and all of its connections are deleted from the canvas.
As you develop and update a route, you may need to disconnect some nodes. The option on the connector context menu makes this easy to do.
![]() | Note |
|---|---|
You can also delete a connector by selecting | from the menu bar. |
To disconnect two nodes:
Select the connector you want to delete.
Right-click it to open the context menu.
Select .
The connector between the nodes is removed.
In some cases you made need to delete an entire route from your routing context. The option on the canvas' context menu makes this easy to do. When you delete a route, all of the nodes the route contains are also deleted.
![]() | Note |
|---|---|
You can also remove a route from the menu on the menu bar. |
Many routing patterns rely on references to Java objects (beans) for configuration or for implementation details. You add the beans into the routing context file using the route editor's Source tab.
To add beans to your routing context file:
Open your routing context file in the route editor.
Click the Source tab at the bottom of the route editor's canvas to switch to Source view, so you can edit the XML that defines the route.
Enter the bean elements needed by your route before the
camelContext element.
![]() | Tip |
|---|---|
Use the |
![]() | Warning |
|---|---|
Do not edit the contents of the |
Save your changes by selecting | on the menu bar.
Click the Design tab at the bottom of the route editor's canvas to return to Design view and the route diagram.
Using the Fuse IDE preference panel, you can specify many aspects of the route editor's behavior:
The default language to use for expressions in EIPs
The method for labeling nodes on the canvas
The direction in which patterns flow on the canvas when creating routes
Whether the canvas displays a grid overlay
Colors used for various diagrammatic components
To configure the Fuse IDE route editor:
On the menu bar, select | to open the Preferences dialog.
Select | to show the Editor Preferences.
Select the expression language you prefer from the drop-down list.
Click the checkbox next to If enabled the ID values will be use for labels if existing to enable or disable using node IDs as labels.
Select, from the drop-down list, the direction in which you want the route editor to align the patterns in a route.
Click the checkbox next to Show diagram grid to enable or disable displaying the grid overlay on the canvas.
Click to apply the changes to the Editor Preferences.
Select | to show the Colors Preferences.
For each component whose color you want to change, click its color icon to open the color palette, and then select a color from the palette.
When done, click and then , to close the Preferences dialog.
You can restore the route editor's original color scheme at any time by returning to | and clicking .
A common way of testing routes is to use JUnit. Fuse IDE includes a wizard that simplifies creating a JUnit test case for your routes. The wizard generates the starting point code and configuration to run the test.
To create a new JUnit test case for your route:
In Package Explorer, select the camel-context.xml file in your routing project.
Right-click it to open the context menu, and then select | to open the New Camel JUnit Test Case wizard, as shown in Figure 6.1.
![]() | Tip |
|---|---|
Alternatively, you can open the wizard by selecting || from the menu bar. |
In Source folder, accept the default location of the source code for the test case, or enter another location.
![]() | Tip |
|---|---|
You can click |
In Package, accept the default package name for the generated test code, or enter another package name.
![]() | Tip |
|---|---|
You can click |
In Camel XML file under test, accept the default pathname of the routing context file that contains the route you want to test, or enter another pathname.
![]() | Tip |
|---|---|
You can click |
In Name, accept the default name for the generated test class, or enter another name.
Select the method stubs you want to include in the generated code.
If you want to include the default generated comments in the generated code, check the Generate comments box.
Click
to open the Test Endpoints page, shown in Figure 6.2.
Under Available endpoints, select the endpoints you want to test. Click the checkbox next to any selected endpoint to deselect it.
Click
.
![]() | Tip |
|---|---|
If prompted, add JUnit to the build path. |
The artifacts for the test are added to your project and appear in Package
Explorer under src/test/java. The class implementing the test case
opens in the Java editor.
Fuse IDE's Source tab opens the route editor in Source view (Figure 7.1) to display the contents of a Apache Camel route file as XML.
This view is useful for editing and adding any configuration, comments, or beans to the routing context file. The Properties editor can inspect the beans and use the information to populate the fields that require bean references.
While the route editor allows you to change the contents of the camelContext element in the routing context file, not all changes are preserved.
Comments inserted into the camelContext element are lost upon
switching to Design view.
There are two basic ways to run your routes using Fuse IDE:
If the project containing your route is a Maven project, you can use the m2e plug-in to run your route. Using this option, you can execute any Maven goals, before the route runs.
To run a route using Maven:
In Package Explorer, select the root of the project .
Right-click it to open the context menu, and then select |.
The first time you run the project using Maven the Edit Configuration editor opens, so you can create a Maven runtime profile.
To create the runtime profile:
Make sure the route directory of your Apache Camel project appears in the Base directory: field.
For example on Linux the root of your project will be similar to
~/workspace/simple-router.
In the Goals: field, enter
camel:run.
Click and then .
Subsequent Maven runs use this profile, unless you modify it between runs.
![]() | Subscription Only |
|---|---|
This feature is available only to FuseSource subscribers. |
The simplest way to run an Apache Camel route is as a . This method enables you to launch the route directly from Package Explorer's context menu. When you run a route from the context menu, Fuse IDE automatically creates a runtime profile for you. You can also create a custom runtime profile for running your route.
Your route runs as if it were invoked directly from the command line and uses Apache Camel's embedded Spring container. You can configure a number of the runtime parameters by editing the runtime profile.
To run a route as a local Camel context:
In Package Explorer, select a routing context file.
Right-click it to open the context menu, and then select |.
![]() | Tip |
|---|---|
Selecting directs Fuse IDE to run the project without performing validation tests, which may be faster. |
Fuse IDE stores information about the runtime environments for each project in runtime profiles. The runtime profiles keep track of such information as which Maven goals to call, the Java runtime environment to use, any system variables that need to be set, and so on. A project can have more than one runtime profile.
![]() | Subscription Only |
|---|---|
This feature is available only to FuseSource subscribers. |
A Local Camel Context runtime profile configures how Apache Camel is
invoked to execute a route. A Local Camel Context runtime profile
stores the name of the context file in which your routes are defined, the name of the
main to invoke, the command line options passed into the JVM, the
JRE to use, the classpath to use, any environment variables that need to be set, and a few
other pieces of information.
The runtime configuration editor for a Local Camel Context runtime profile contains the following tabs:
Camel Context File—specifies the name of the new configuration and the full path of the routing context file that contains your routes.
Main—specifies the fully qualified name of the project's base directory, a few options for locating the base directory, any goals required to execute before running the route, and the version of the Maven runtime to use.
JRE—specifies the JRE and command line arguments to use when starting the JVM.
Refresh—specifies how Maven refreshes the project's resource files after a run terminates.
Environment—specifies any environment variables that need to be set.
Common—specifies how the profile is stored and the output displayed.
The first time an Apache Camel route is run as a Local Camel Context, Fuse IDE creates for the routing context file a default runtime profile, which should not require editing.
In Package Explorer, select the camelContext file for which you want to edit or create a custom runtime profile.
Right-click it to open the context menu, and then select | to open the Run Configurations dialog.
In the type pane, select Local Camel
Context, and then click
at the top, left of the type
pane.
In the Name field, enter a new name for your runtime profile.
The Camel Context File tab has one field, Select Camel Context file.... Enter the full path to the routing context file that contains your route definitions.
The button accesses the Open Resource dialog, which facilitates locating the target routing context file. This dialog is preconfigured to search for files that contain Apache Camel routes.
By default, the runtime profile uses the standard
org.apache.camel.spring.Main class to bootstrap the routes. This
class loads the routes and Apache Camel into a Spring container.
You can specify an alternate main class by editing the Main class field on the Main tab.
By default the only command line option passed to the JVM is:
-fa context-fileIf you are using a custom main class you may need to pass in different options. To do so, on the Main tab, click the Add button to enter a parameter's name and value. You can click the Add Parameter dialog's Variables... button to display a list of variables that you can select.
To add or modify JVM-specific arguments, edit the VM arguments field on the JRE tab.
By default, the output generated from running the route is sent to the Console view. But you can redirect it to a file instead.
To redirect output to a file:
Select the Common tab.
Click the checkbox next to the File: field, and then enter the path to the file where you want to send the output.
The , , and buttons facilitate building the path to the output file.
A Maven runtime profile configures how Maven invokes Apache Camel. A Maven runtime profile stores the Maven goals to execute, any Maven profiles to use, the version of Maven to use, the JRE to use, the classpath to use, any environment variables that need to be set, and a few other pieces of information.
The runtime configuration editor for a Fuse IDE runtime profile contains the following tabs:
Main—specifies the name of the new configuration, the fully qualified name of the project's base directory, a few options for locating the base directory, any goals required to execute before running the route, and the version of the Maven runtime to use.
JRE—specifies the JRE and command line arguments to use when starting the JVM.
Refresh—specifies how Maven refreshes the project's resource files after a run terminates.
Environment—specifies any environment variables that need to be set.
Common—specifies how the profile is stored and the output displayed.
The first time an Apache Camel route is run using Maven, you must create a default runtime profile for it.
In Package Explorer, select the root of the project for which you want to edit or create a custom runtime profile.
Right-click it to open the context menu, and then select | to open the Run Configurations dialog.
In the type pane, select Maven
Build, and then click
at the top, left of the type
pane.
The most commonly used goal when running a route is camel:run. It loads the
routes into a Spring container running in its own JVM.
The Apache Camel plug-in also supports a camel:embedded
goal that loads the Spring container into the same JVM used by Maven. The advantage of this
is that the routes should bootstrap faster.
If your POM contains other goals, you can change the Maven goal used by clicking the
Configure... button next to the Maven Runtime field on the Main tab. On
the Installations dialog, you edit the Global settings for <selected_runtime> installation
field.
By default, Fuse IDE uses m2e, which is embedded in Eclipse. If you want to use a different version of Maven or have a newer version installed on your development machine, you can select it by editing the Maven Runtime field on the Main tab.
By default, the output from the route execution is sent to the Console view. But you can redirect it to a file instead.
To redirect output to a file:
Select the Common tab.
Click the checkbox next to the File: field, and then enter the path to the file where you want to send the output.
The , , and buttons facilitate building the path to the output file.
![]() | Subscription Only |
|---|---|
This feature is only available to FuseSource subscribers. |
Fuse IDE's Deploy to... tool(
) makes deploying applications into containers a one step process.
Fuse IDE supports direct deployment into the following containers:
Fuse ESB Enterprise
Apache ServiceMix
Apache Karaf
There are three ways to deploy Fuse IDE projects into a container:
into a container's deploy folder
The package generated by the Fuse IDE project is copied into the container's deploy folder. This method has two drawbacks:
Fuse IDE does not verify that the project builds a package that is compatible with the target container.
Fuse IDE does not provide feedback as to whether the deployment succeeds or fails.
to a JMX connected container
Fuse IDE builds the project, and, regardless of the packaging specified in the project's POM, installs the generated artifacts as a bundle. You can use the JMX Explorer to determine if the project deploys successfully.
to a fabric profile
Fuse IDE builds the project, packages the generated artifacts into a bundle, adds the bundle to the profile, and copies the bundle into the fabric's internal repository.
![]() | Important |
|---|---|
If the profile is not assigned to a running container the project will not be deployed into the fabric. You will need to assign the profile to a running container before you can see the project running. |
![]() | Tip |
|---|---|
You can deploy a project by dropping it onto a connected container in JMX Explorer, or onto a fabric profile in Fabric Explorer. |
When Fuse IDE deploys a project into a container's deploy folder, it builds the project as specified in the project's POM and copies the resulting package to a predetermined location. Fuse IDE assumes two things:
the specified location is a container's deploy folder
the package generated by the project is compatible with the container
Before you can deploy a project to a container's deploy folder you must add the container's deployment information to Fuse IDE. Once Fuse IDE knows the container's information, the container will appear as an option in the menu.
Before you can deploy applications into a container's deploy folder, you must provide Fuse IDE with the location of the container's deploy folder. The Deploy Folders preference panel enables you to configure one or more containers. You provide a name for the container and the full path to the container's deployment folder.
You can access the deployment folders preference panel two ways:
selecting | from the main menu
This method will open the general Fuse IDE preference window. You will need to select | from the list of preference panels on the left side of the widow.
selecting | from the project's context menu
This will open the preferences window and ensure that the Deploy Folders panel is selected.
To add a container's deploy folder:
Open the Deploy Folder preference panel.
In the Name field, enter a name for the target container.
The name can be any unique string.
In the Deploy Folder field, enter the full path to the container's deployment folder.
![]() | Important |
|---|---|
Fuse IDE does not validate whether the selected folder is a valid deployment folder for a container. |
![]() | Tip |
|---|---|
The |
In the Description field, enter a description for the container.
Click to add the new container to the table of configured containers.
Click to close the preferences window.
When add a container to the list, it appears in the context menus' submenu.
To edit a container's deploy folder:
Open the Deploy Folder preference panel.
Select the container whose configuration you want to edit.
Edit the information that needs updating.
![]() | Important |
|---|---|
Changing the value of the Name field creates a new container configuration. |
Click .
Click to close the preferences window.
To delete a container's deploy folder:
Open the Deploy Folder preference panel.
Select the container to be deleted.
Click .
Click to close the preferences window.
When Fuse IDE deploys a project to a container's deploy folder it builds the project and copies the results to the deploy folder configured for the container.
To deploy a project to a container's deploy folder:
Select the routing context file that you want to deploy.
![]() | Important |
|---|---|
The project must be configured to package the results in a format that the target container can deploy. |
Select | from the project's context menu.
Fuse IDE builds the project and copies the results to the selected container's deploy folder.
![]() | Tip |
|---|---|
If you have not already configured a container, you can do so by selecting | from the context menu. |
Check the Console view to see if your project was successfully built and copied to the target container.
Check the container's log files to see if the project was successfully deployed.
Deploying into a container connected to Fuse IDE's JMX Explorer provides a number of benefits over using a container's deploy folder. The chief benefits are that the project is automatically packaged into a bundle and you can monitor the results of the deployment in Fuse IDE.
All of the supported containers that are connected to the JMX Explorer are listed in the menu. For information about how to connect a container to the JMX Explorer.
To deploy a project to a JMX connected container:
Open the Fuse Integration perspective.
In JMX Explorer, expand the JMX server hosting the desired container.
Containers that are running on the local machine are listed in the special Local Processes node.
Double-click the entry for the desired container connect to it.
In Project Explorer, select the project you want to deploy.
Open the project's context menu.
Click |.
Check the Console view to see that your project builds successfully and is installed in the container.
In JMX Explorer, click | to populate the Properties view with the list of bundles installed in the container.
Use the search tool in Properties view to check that your project's bundle was installed.
When you start typing the name of your project the search tool will display the bundles whose names match the current string.
In JMX Explorer, open
container[xxx]'s
context menu.
Click Refresh.
Expand the
container[xxx]
node to view your project's nodes.
Now you can test and debug your application in a Fuse ESB Enterprise environment.
When you are ready to test your application in a highly distributed environment, you can deploy it into a fabric using the Deploy to... tool. The Deploy to... tool builds your application, runs the tests, packages the application as a bundle, adds the bundle to a fabric profiles, and deploys the bundle into the fabric's internal Maven repository.
To complete the process, you need to ensure that the profile containing your application is deployed to at least one of the containers in the fabric. If the profile is not deployed to a container, the application will not be started.
To deploy a project to a fabric container:
Open the Fuse Integration perspective.
In Fabric Explorer, expand the Fabrics node.
Double-click a fabric to connect to it.
Create a new profile in which you will install your project.
Follow the steps in Creating a new profile up to Step 6.
The new profile appears in Fabric Explorer in the profile tree.
In Project Explorer, select the project you want to deploy.
Open the project's context menu.
Select || to see the list of available profiles.
From the list of profiles, select the profile that you created in Step 4.
Verify that the application's bundle was added to the profile.
In Fabric Explorer, click the profile into which the project was installed.
This will populate the Properties view with the profile's details.
In Properties view, click the Details tab.
Check that your project's bundle appears in the Bundles or FABs field.
If you do not already have a container deployed into the fabric for testing your application, create a new container in the fabric.
Follow the procedure appropriate for the container in Working with Fabric Containers.
The new container appears in Fabric Explorer, under the fabric's Containers node.
Assign the profile containing your application to a container in the fabric.
Follow the procedure in Changing a Container's Profiles.
Verify that the application was deployed to the container.
In Fabric Explorer, double-click the new container to start it and to populate Properties view with its properties and profile information.
In Fabric Explorer, click the container's Bundles node to view the list of bundles installed on it.
Table of Contents
The Fuse Integration perspective, shown in Figure 10.1, is where you access the Fuse IDE debugging tools.
The Fuse Integration perspective consists of five main areas:
JMX Explorer—lists the JMX servers and the infrastructure they monitor.
Diagram View—provides a graphical representation of an item selected in the JMX Explorer. If the selected item is a route, Diagram view also displays timing metrics for each processing step in the route.
Messages View—lists the messages that have passed through the selected JMS destination or Apache Camel endpoint.
Servers—lists the Fuse ESB Enterprise, Apache Karaf, or Apache ServiceMix containers defined in your Fuse IDE environment.
Properties—displays the properties of the selected item.
The JMX Explorer drives the debugging activities in the Fuse Integration perspective. It determines what routes are displayed in the Diagram View, the Properties viewer, and the Messages View. It is also provides menu commands for activating route tracing, adding and deleting JMS destinations, and starting and stopping routes. It is also the target for dragging and dropping messages onto a route.
By default, the JMX Explorer shows all of the Java processes running on your local machine. You can add JMX servers as needed to view infrastructure on other machines.
The Messages View is used for JMS browsing and route tracing.
When a JMS destination is selected in the JMX Explorer, the view lists all of the messages sitting in the destination.
When a browsable Apache Camel endpoint is selected and route tracing has been activated, the view lists all of the messages that have passed through the endpoint since tracing was activated.
When a message in the Messages View is selected, its details are displayed in the Properties viewer. The message details include the message's body and all of its headers.
A large portion of the Fuse Integration perspective is dedicated to visualizing the processes running in your infrastructure. In addition to displaying the running processes, the Fuse Integration perspective also displays all of the runtime metrics that are gathered from JMX MBeans.
The JMX Explorer and the Diagram View show you the processes deployed as part of your integration infrastructure.
The JMX Explorer arranges items in a tree and drives the rest of the operations on the Fuse Integration perspective.
Diagram View shows your infrastructure as a graph. It shows all of the nodes under the item selected in the JMX Explorer.
For more information see The JMX Explorer.
JMX metrics are displayed in the Properties view of the Fuse Integration perspective. Depending on the type of process, the JMX metrics provide details such as:
time running
time to process a message
number of messages processed
processor load
memory foot print
For more information see Viewing a component's properties.
When debugging a route, it is helpful to see how a test message changes as it passes through the route. It is also helpful to trace the message's path through the route.
Fuse IDE's route tracing feature enables you to do both. The Diagram View displays a graphical representation of the route. The Messages View displays the messages processed by the node selected in JMX Explorer. You can also display the full contents of a message in the Properties view.
Debugging a route in the Fuse Integration perspective enables you to see how the route functions in its actual deployment environment. The route is hooked up to live endpoints that are managed by live brokers. When you drag a test message on to a route's endpoint, you're adding it to that endpoint.
You can ensure that the start endpoint is properly configured to receive messages. As the message passes through each processor in the route, you can check the entire message, including all of the transport headers, to see if it is being processed correctly. You can also check that the target endpoint is properly configured to pass results to the intended target destination.
Diagram View displays your routes as graphs. Each node of the graph represents a step in the route and is identified by an icon representing the EIP pattern the node represents.
With route tracing activated, you can trace, in Diagram View, each node that has processed a message by scrolling through the message list in Messages View.
A browser that inspects the messages on a JMS destination without consuming them is key to troubleshooting a distributed message system. Inspecting the messages can help you understand why messages are backing up or why they are being discarded too soon.
In addition to inspecting JMS destinations, Fuse IDE allows you to add messages to them. This feature enables you to add controlled test cases into the system for detailed analysis.
JMX Explorer shows all of the JMS destinations deployed in your infrastructure. When you select a destination from the tree, a list of the messages sitting in it are listed in Messages View. Messages View displays the basic properties of the message.
Selecting one of the messages in Messages View displays all of that message's details, including the full message body, in the Properties viewer.
The Fuse Integration perspective provides access to all of the Fuse IDE debugging tools. It contains all of the views used to monitor and debug Fuse integration projects including:
Project Explorer
A standard Eclipse view that shows all of the projects known to the IDE. You can view and select the artifacts that make up each project.
JMX Explorer
A customized JMX view that allows you to browse JMX servers and the processes they are monitoring. The JMX Explorer automatically lists to all of the JMX servers running on the local machine. It also can identify instances of FuseSource processes.
Diagram View
Displays a graphical tree representing the node selected in the JMX Explorer.
When you select a process, server, endpoint, or other node in JMX Explorer, the graphical tree in Diagram View shows the selected node as the root and branches down to the children and grandchildren. For example, if you select a broker in JMX Explorer the tree in Diagram View displays up to three children: connections, topics, and queues. It also shows configured connections and destinations as grandchildren.
When you select a route, the graphical tree includes all of the nodes in the route and the path that a message can take through it. If you select a context node, Diagram View shows all of the routes in the context.
Shell
Shows the command console of a container. You can control the connected container by entering commands into the shell.
Messages View
Displays the list of messages sitting in the node selected in the JMX Explorer. This view is populated only when a JMS destination or route endpoint is selected.
See Browsing messages for more details.
![]() | Note |
|---|---|
Route endpoints contain messages only when route tracing is activated. See Tracing messages through a route for more information. |
Servers
Displays a list of the servers managed by Fuse IDE. It displays their runtime status and provides controls for stopping and starting them.
Console
Displays the console output for recently executed actions.
Properties
The Properties view displays the JMX properties for the node selected in the JMX Explorer.
To open the Fabric Integration perspective, select ||, or click
in the Perspectives tab, and select
.
The JMX Explorer, shown in Figure 12.1, displays all of the processes running in your application and can be used to drive all of your interactions with Fuse IDE's debugging features. Other areas of the Fuse Integration perspective adapt to display information relative to the node selected in the explorer. The explorer's context menu also provides the commands needed to activate route tracing and add JMS destinations.
By default the JMX Explorer discovers all of the JMX servers running on the local machine and lists them under the Local Processes tree. You can add other JMX servers using the servers JMX URL.
The JMX Explorer lists all known process in a series of trees. The root for each tree is a JMX server.
The first tree in the list is a special Local Processes tree that contains all of the JMX servers running on the local machine. You must connect to one of the JMX servers to see the processes it contains.
To view information about processes in a local JMX server:
Expand the Local Processes entry in the JMX Explorer.
Double-click one of the top-level entries under Local Processes to connect to the JMX server.
Double-click it to open a connection.
Click the
icon that appears next to the entry to display the list
of all components running in the JVM.
To view information about processes in an alternate JMX server:
Add the JMX server to the explorer.
Expand the server's entry in the JMX Explorer using the
icon that appears next to the entry to display the list of all
components running in the JVM.
The JMX Explorer lists all of the local JMX servers under the Local Processes branch of the tree. You may need to connect to specific JMX servers to see components deployed on other machines.
To add a JMX server you need to know the JMX URL of the server you want to add.
To add a JMX server to the JMX Explorer:
Click
to the right of the JMX Explorer tab.
In the Create a new JMX connection wizard, select .
Click .
Select the Advanced tab.
In the Name field, enter a name for the JMX server.
The name can be any string. It is used to label the entry in the JMX Explorer tree.
In the JMX URL field, enter the JMX URL of the server.
If the JMX server requires authentication, enter your user name and password in the Username and Password fields.
Click .
The new JMX server is displayed as a branch in the JMX Explorer tree.
Fuse IDE collects and displays all of the JMX properties reported by Fuse components. This information can provide significant insight into what is happening in your integration application.
To see a Fuse component's properties:
Locate the node for the component in the JMX Explorer.
![]() | Tip |
|---|---|
You may have to expand nodes on the tree to locate low-level components. |
Select the Fuse component's node from the tree.
Open the Properties view.
The selected component's properties will be displayed in table format.
![]() | Tip |
|---|---|
You can use the Search box in Properties view to locate specific properties based on value. |
A key tool in debugging applications in a distributed environment is seeing all of the messages stored in the JMS destinations and route endpoints in the application. Fuse IDE can browse the following:
JMS destinations
JMS routing endpoints
Apache Camel routing endpoints
SEDA routing endpoints
Browse routing endpoints
Mock routing endpoints
VM routing endpoints
DataSet routing endpoints
To browse messages:
Select the JMS destination or endpoint from the JMX Explorer.
The list of messages is displayed in the Messages View.
Select an individual message to inspect from the list of messages in the Messages View.
Message details and content are displayed in the Properties view.
Debugging a route usually involves solving one of two problems:
a message was improperly transformed
a message failed to reach its destination endpoint
Tracing one or more test messages through the route is easiest way to solve these problems.
Fuse IDE's route tracing feature enables you to monitor the path a message takes through a route and how the message is transformed as it passes from processor to processor.
Diagram View displays a graphical representation of the route, which enables you to see the path a message takes through it. For each processor in a route, it also displays the average processing time, in milliseconds, for all messages processed since route start-up and the number of messages processed since route start-up.
Messages View displays the messages processed by a JMS destination or route endpoint selected in the JMX Explorer tree. Selecting an individual message in Messages View, displays the full details and content of the message in the Properties view.
Tracing messages through a route involves the following steps:
Create one or more test messages.
Activate route tracing on the route's routing context.
Trace the test messages as they pass through the route.
Deactivate route tracing on the route's routing context.
Route tracing requires that messages have a specific structure. They must have a message root element in the namespace http://fabric.fusesource.org/schema/messages.
To create a test message:
In Project Explorer, right-click the project to open the context menu.
Select | to open the Fuse Message File wizard.
In the RouteContainer field, enter the path of the folder in which you want to store the message.
![]() | Tip |
|---|---|
Use the button to help locate the proper folder. |
In the File name field, enter a name for the message.
Click .
The new message opens in the XML editor.
Fill in the contents (body and header text) of the message.
On the menu bar, click | to save the test message.
Before you can trace messages through a route, you must activate route tracing for the route's routing context.
To start tracing on a routing context:
In the JMX Explorer tree, select the routing context on which you want to start tracing.
![]() | Tip |
|---|---|
You can select any route in the context to start tracing on the entire context. |
Right-click it to open the context menu, and then select .
![]() | Tip |
|---|---|
If appears on the context menu, tracing is already active. |
The best way to see what's happening in a route is to watch what happens to a message at each stop along the route. Fuse IDE provides a mechanism for dropping messages into a route and tracing the message's path through it.
To trace messages through a route:
Create one or more test messages as described in Creating test messages for route tracing.
Activate tracing for the route's routing context as described in Activating route tracing.
Drag one of the test messages onto the route's starting point.
In the JMX Explorer tree, select the route being traced.
The Messages View is populated with a list of messages representing the message at each stage in the traced route.
Open Diagram View to see a graphical representation of the selected route.
In the Messages View, select one of the messages.
In Diagram View, the route step in which the selected message is sitting is highlighted. The Properties view displays the full details and content of the test message.
You can repeat this process as needed.
When you are finished debugging the routes in a routing context, you should deactivate tracing for the routing context.
![]() | Important |
|---|---|
Deactivating tracing stops tracing and flushes the trace data for all of the routes in the routing context. This means that you cannot review any past tracing sessions. |
To stop tracing for a routing context:
In the JMX Explorer tree, select the routing context for which you want to deactivate tracing.
![]() | Tip |
|---|---|
You can select any route in the context to stop tracing for the context. |
Right-click it to open the context menu, and then select .
![]() | Tip |
|---|---|
If appears on the context menu, tracing is not activated for the routing context. |
Fuse IDE's JMX Explorer allows you to easily add or delete JMS destinations from a running Fuse MQ Enterprise.
![]() | Important |
|---|---|
The changes are not persistent across broker restarts. |
When testing a new scenario, it is convenient to add a new JMS destination to one of your brokers. Fuse IDE provides a menu choice for adding a destination with a single click.
To add a JMS destination to a broker:
In the JMX Explorer tree, select either the Queues child or the Topics child in the broker node where you want to add a destination.
Right-click it to open the context menu, and then select .
In the naming dialog, enter a name for the destination.
Click .
The new destination appears in the tree.
When testing fail over scenarios or other scenarios that involve failure handling, it's convenient to be able to easily remove a JMS destination. Fuse IDE has a menu option that allows you to remove a destination with a single click.
To delete a JMS destination:
In the JMX Explorer tree, select the JMS destination you want to delete.
Right-click it to open the context men, and then select .
Fuse IDE's JMX Explorer allows you to easily add or delete routing endpoints.
![]() | Important |
|---|---|
The changes are not persistent across router restarts. |
When testing a new scenario, it is convenient to add a new endpoint to a routing context. Fuse IDE provides a menu choice for adding a routing endpoint with a single click.
To add an endpoint to a routing context:
In the JMX Explorer tree, select the Endpoints child in the routing context node where you want to add an endpoint.
Right-click it to open the context menu, and then select .
In the naming dialog, enter a URL defining the new endpoint.
See Component Reference.
Click .
The new destination appears in the tree.
When testing fail over scenarios or other scenarios that involve failure handling, it is convenient to be able to easily remove an endpoint from a routing context. Fuse IDE has a menu option that allows you to remove an endpoint with a single click.
To delete a routing endpoint:
In the JMX Explorer tree, select the endpoint you want delete.
Right-click it to open the context menu, and then select .
If you want to experiment with changes to a running route, you can make the edits directly from the Fuse Integration perspective. Fuse IDE opens the context file containing the route in the route editor. When your changes are saved, they take effect immediately.
The changes are made to the in memory model of the running context, but are not persisted as part of their original project or as part of any other project.
![]() | Note |
|---|---|
If you want to save the changes to a permanent location, you use the menu item. |
To edit a running route:
In the JMX Explorer tree, select the context containing the route(s) you want to edit.
Select from the context's context menu.
The context, and all of the routes it contains, are opened in the route editor.
Edit the route(s) as described in Part I.
When done, save the edited route.
Select | to update the in-memory version of the routing context.
The changes to the route(s) take effect immediately.
>Select | to save the edited routing context a new context file.
Fuse IDE's JMX Explorer enables you to easily suspend, shutdown, and resume routing contexts.
Fuse IDE enables you to suspend the operation of a routing context from JMX Explorer. Suspending a context gracefully shuts down all of the routes in the context, but keeps them loaded in memory so that they can easily be resumed.
If you want to kill all of the routes and free their resources, close the context. See Shutting down a routing context.
To suspend a routing context:
In the JMX Explorer tree, select the routing context you want to suspend.
Right-click it to open the context menu, and then select .
![]() | Note |
|---|---|
If appears on the context menu, the context is already suspended. |
Fuse IDE enables you to resume a suspended routing context from JMX Explorer. Resuming a context restarts all of the routes in it, so that they can process messages.
To resume a routing context:
In the JMX Explorer tree, select the routing context you want to resume.
Right-click it to open the context menu, and then select .
![]() | Note |
|---|---|
If appears in the context menu, the context and its routes are running. |
Fuse IDE enables you to shut down a routing context from JMX Explorer. Shutting down a routing context gracefully stops all of the routes in the context and releases all of the resources used by the routes. Once shut down, a routing context cannot be resumed.
If you want to stop the routes so that they can be restarted, suspend the context. See Suspending a routing context.
To shut down a routing context:
In the JMX Explorer tree, select the routing context you want to shut down.
Right-click it to open the context menu, and then select .
Fuse IDE's Servers panel enables you to deploy and manage servers in your Eclipse environment. Fuse IDE supports deploying the following servers:
Fuse ESB Enterprise 7.x Server
Apache Karaf 2.x Server
Apache ServiceMix 4.x Server
To make it possible for Fuse IDE to manage a server, it needs to be added to the Servers list in Fuse IDE. Once added, the server will appear in the Servers view. The server will also appear in the Servers tree in both the Project Explorer and the Package Explorer.
You can have multiple servers using different runtime environments managed by Fuse IDE. If you try to create two servers using the same installation directory, the second server will not be added.
To add a new server to Fuse IDE:
From the main menu, select || to open the New wizard.
Select | from the list.
Click .
In the Define a New Server dialog, select the type of server you want to create.
In Server's host name, enter the name of the host on which the server runs.
![]() | Note |
|---|---|
Currently Fuse IDE does not support containers running on remote machines. |
In Server name, enter a name for the server.
If the Server runtime environments drop-down list is present, select a runtime environment for the server from the list.
Click .
If this is the first time you have defined a server of this type, you need to define
a runtime environment for the server type using the New
ServerType Runtime page.
In Installation directory, enter the full path to the server's installation folder.
![]() | Tip |
|---|---|
The button opens a file browser. |
Click .
In Port Name, enter the port number that the debugger will use to connect to the server.
In User Name, enter the user name that the debugger will use to connect to the server.
In Password, enter the password that the debugger will use to connect to the server.
Click .
The New ServerType Add and Remove page
opens.
Move the resources you want the server to use from the Available column to the Configured column.
Click .
The new server appears in the list of servers in the Servers panel.
When you start a configured server, Fuse IDE opens the server's remote management console in a Shell view. This allows you to easily manage the container while debugging your application.
To start a server:
In the Servers panel, select the server you want to start.
Click
.
The Console view should open and display a message asking you to wait while the container is starting. A Shell view will open that displays the container's management console.
![]() | Note |
|---|---|
If you did not properly configure the user name and password for opening the remote console, a dialog will open asking you to enter the proper credentials. See Adding a Server |
From Fuse IDE you can shutdown a server in one of two ways:
from the Server view
from the server's remote console
To stop a server:
In the Servers view, select the server you want to stop.
Click
.
A fabric is a distributed configuration, provisioning, and clustering mechanism for running FuseSource projects on multiple computers in an on-premises or public Cloud. You can view and edit fabrics, and the containers, versions, and profiles of which they consist. You can also create and delete containers and profiles, but you can only create versions.
![]() | Subscription Only |
|---|---|
This feature is available only to FuseSource subscribers. |
The Fuse Fabric perspective, shown in Figure 21.1, is where you access the fabric development and debugging tools.
The Fuse Fabric perspective consists of six main areas:
Fabric Explorer—lists the fabrics and the containers, profiles, and versions of which they consist.
Diagram View—provides a graphical representation of a node selected in Fabric Explorer.
Shell— provides console access to any container running on the fabric.
Log view—lists the log entries of the selected container or the selected JMX process.
Messages View—lists the message instances that passed through the nodes in a selected route, after tracing was enabled on the route.
Properties view—displays the properties of an object selected in Fabric Explorer.
The Fabric Explorer provides access to your fabrics. Once Fuse IDE is connected to a fabric, Fabric Explorer provides access to all of the fabric's components (containers, profiles, and profile versions) enabling you to configure, run, and debug your project in the fabric environment.
Use Diagram View in conjunction with Messages View to track a message through the nodes of a route for which tracing has been activated. In Diagram View, the node which corresponds to the message instance selected in Messages View is highlighted. Messages View displays metrics for the selected message instance, including the time at which it exited the highlighted node.
Log view displays the log entries of the container selected in Fabric Explorer. This feature enables you to see the log messages of any container running in a fabric.
Double-clicking a process in a container's JMX tree opens the process in a jconsole-like viewer, where you can browse its attributes, operations, notifications, and other information, all of which are presented in tabular format.
The Messages View is used for tracing messages through a route in a fabric environment.
When an Apache Camel route for which route tracing has been activated is selected in Fabric Explorer, Messages View lists all messages that pass through the route from the time tracing was activated. Messages View also provides metrics for each message instance, making it easier to debug routes.
Use the view's button periodically to update its display of message traces.
For container nodes, the Properties view also provides the Profiles tab, for viewing the profiles assigned to the container, and the Profile Details tab, for viewing the details of each assigned profile.
The Profiles editor enables you to change the profiles associated with the selected container, and the Profile Details editor enables you to modify the configuration of the selected profile.
Fuse IDE provides an environment for developing and debugging fabric applications. Use Fuse IDE to build a mock-up of your actual fabric into which you can deploy your application to test and debug it.
To set up a fabric environment, you must have access to an existing fabric.
Setting up a fabric environment involves several basic steps:
Providing the details for connecting to an existing fabric
Connecting to the fabric
Creating the containers that will host the various components of your distributed integration application
Assigning each container one or more profiles, which provision containers by deploying and installing specified applications.
![]() | Tip |
|---|---|
For cloud applications, unless the cloud already has fabric registry agent running on it, you must create one yourself, before you can include it to your fabric environment. For details, see Creating a Fabric in the Cloud. |
To set up a fabric environment, you must switch to the Fuse Fabric perspective, by selecting ||, or clicking
in the Perspectives tab, and selecting .
Before you can view and edit your fabric, you must add it to the Fabric Explorer view. You can add multiple fabrics in Fuse Fabric perspective and connect to them concurrently.
To specify the details for connecting to a fabric:
In Fabric Explorer, right-click to open the context menu, and then select to open the Fabric Details wizard, as shown in Figure 23.1.
In Name, enter the name of the fabric to which you want to connect. The name you enter identifies the fabric whose location you specify in URLs, and this name will appear in Fabric Explorer.
The default Name is Local Fabric.
In URLs, enter the url, in the form
hostname:port, of the fabric to which you want to connect. This
URL specifies the location of a fabric registry agent, whose
default port is 2181.
The default URL is localhost:2181.
In User name, enter the name used to log into the specified fabric.
The default is admin.
In Password, enter the password required for User name to log into the specified fabric.
The default is admin.
Click OK.
The fabric's name appears in Fabric Explorer as a node beneath Fabrics.
![]() | Tip |
|---|---|
Before you can view or modify a fabric's containers, profiles or versions, you have to connect to the fabric. For details see Connecting to a fabric |
Fuse IDE connects to a fabric using the connection information you specified for it in the Fabric Details dialog.
To connect to a fabric:
In Fabric Explorer, select the fabric to which you want to connect, then right-click it to open the context menu.
Select .
An expand arrow (
) appears next to the fabric you selected in Fabric
Explorer.
Click (
) to expand the fabric's tree and browse its containers, profiles, and
versions.
From here, you can create and deploy new containers or modify existing ones by assigning them new profiles or modified versions of existing profiles.
Typically, you'd disconnect from a fabric without stopping its containers since they usually run application services. In this case, the containers will continue to run, unless stopped from the Fuse ESB or Fuse MQ console command line.
When any of the details for connecting to your fabric change, you need to update the details in Fuse IDE.
![]() | Tip |
|---|---|
Before you edit a fabric's details, disconnect from the fabric. |
In Fabric Explorer, select the fabric whose details you want to edit, and right-click it to open the context menu.
Select to open the Fabric Details dialog, as shown in Figure 23.1.
In Name, enter a new name for the fabric, if necessary.
In URLs, enter the new url of the fabric, if necessary.
In User name, enter a name with which the new user will log into the selected fabric, if necessary.
In Password, enter the new password to use for logging into the selected fabric, if necessary.
Click OK.
In Fabric Explorer, select the fabric whose details you want to delete, then right-click it to open the context menu.
Select .
Fuse IDE closes its connection with the selected fabric, and then deletes the fabric's details.
To create a new child container:
If necessary, in Fabric Explorer, expand the tree of the selected fabric in which you want to create the new child container.
Right-click the target parent container to open the context menu, and then select .
![]() | Tip |
|---|---|
An error icon ( |
In Container name, enter a name for the new child container.
We recommend that you replace the default name with a meaningful name that identifies the container's role or function.
If multiple versions exist, you can select one from the Version drop-down list. Otherwise, accept the default value.
Under Profiles, click the checkbox next to the profile or profiles you want to assign to the new child container.
Profiles determine the function of containers; what applications they run. You can assign multiple profiles to a container, as long as the applications they install do not conflict with one another.
![]() | Note |
|---|---|
Do not assign a base profile (one ending in |
Click OK.
The new child container appears in Fabric Explorer as a node under Containers
![]() | Tip |
|---|---|
Selecting the new container in Fabric Explorer populates its Profiles and Profile Details pages in Properties viewer. |
To create a container on a remote host, the remote host machine must be ssh-enabled.
![]() | Note |
|---|---|
Creating a container via ssh on a remote Windows machine is not supported. |
To create a new container on a remote machine:
If necessary, in Fabric Explorer, expand the tree of the fabric for which you want to create the new remote container.
Right-click Containers to open the context menu, and then select .
![]() | Tip |
|---|---|
An error icon ( |
In Container name, enter a name for the new container.
We recommend that you replace the default name with a meaningful name that identifies the container's role or function.
If multiple versions exist, you can select one from the Version drop-down list. Otherwise, accept the default value.
In Host, enter the name or the IP address of the remote host.
In User name, enter the name of a user authorized to log into the remote host.
In Password, enter the user's password.
In Path, enter the path of the new container's location on the remote host.
In Port, accept the default port number (22), or enter a new port
number to use for establishing an ssh connection on the remote host.
In SSH retries, accept the default number of retries
(5), or enter the maximum number of retries to attempt at
establishing an ssh connection on the remote host.
In Retry delay, enter the delay, in milliseconds, between retry attempts.
Under Profiles, click the checkbox next to the profile or profiles you want to assign to the container.
Profiles determine the function of a container; what applications it runs. You can assign multiple profiles to a container, as long as the applications they install do not conflict with one another.
![]() | Note |
|---|---|
Do not assign a base profile (one ending in |
Click OK.
The new container appears in Fabric Explorer as a container node under Containers
![]() | Tip |
|---|---|
Selecting the new container in Fabric Explorer populates its Profiles and Profile Details pages in Properties viewer. |
To create a container on a cloud, you need to specify the cloud's connection details and then create the container.
To create a new container on a cloud:
In Fabric Explorer, right-click anywhere, except on Clouds or Fabrics, to open the context menu.
Select to open the Create Container in a Cloud wizard.
![]() | Tip |
|---|---|
Unless the connection details for a cloud have already been added to Fuse IDE, this dialog opens devoid of selections. You can add a cloud's connection details now by clicking Add Cloud details and following the procedure in Adding cloud details. |
Select a cloud from the list, and click to open the New Containers Details page.
![]() | Tip |
|---|---|
An error icon ( |
In Container name, enter a name for the new container.
We recommend that you replace the default name with a meaningful name that identifies the container's role or function.
If multiple versions exist, you can select one from the Version drop-down list. Otherwise, accept the default version.
In Group, enter the group in which to start up the new container.
In User, enter the name of the user who is authorized to login to the new container.
In Location ID, select from the drop-down list the region in which the machines you want to use are located.
In Hardware ID, select from the drop-down list the ID of the hardware archetype to use.
Hardware archetypes specify the amount of memory and compute power available for running applications on machine images.
![]() | Important |
|---|---|
The next three fields provide two methods for specifying the software configuration (operating system, application server, and applications) you want to use. Either select an OS Family (and optionally a version), or select an Image ID. |
In OS Family, select from the drop-down list the family name of the operating system you want to use.
If you select an OS Family, do not also select an Image ID.
In OS Version, optionally select from the drop-down list the version for the operating system you selected.
If you selected an OS Family, skip this step. Otherwise, in Image ID, select from the drop-down list the ID of the image template to use for the software configuration.
![]() | Note |
|---|---|
Fuse Fabric starts an instance of the image in the cloud. Then it installs a fabric agent and provisions the new agent with the selected profiles. Depending on the cloud provider, instantiation and provisioning could take some time. |
Under Profiles, click the checkbox next to the profile or profiles you want to assign to the container.
Profiles determine the function of containers; what applications they run. You can assign a container multiple profiles, as long as the applications they install do not conflict with one another.
![]() | Note |
|---|---|
Do not assign a base profile (one ending in |
Click OK.
The new container appears in Fabric Explorer as a container node under Containers
![]() | Tip |
|---|---|
Selecting the new container in Fabric Explorer populates its Profiles and Profile Details pages in Properties viewer. |
When you create a container, it starts up automatically and continues to run until stopped by some event, planned or otherwise. You can manually restart a stopped container.
To start a container:
If necessary, in Fabric Explorer, expand the tree of the fabric whose container you want to start.
Select the container and right-click it to open the context menu.
Click .
![]() | Tip |
|---|---|
To check whether Fuse IDE started the container, click Containers in
Fabric Explorer, and open the Properties
view. You should see something similar to Figure 24.5, where |
The status indicators in the Status column of the Properties view indicate the startup state of the container, as shown Table 24.1:
Table 24.1. Container startup status
| Icon | Meaning |
|---|---|
| Container stopped | |
| Container started and provisioning in progress | |
| Container started and provisioned successfully | |
| Failure occurred during startup or provisioning |
A container's profiles determine what the container is hosting. If you want to change what is deployed in a container or how it is configured, you can change the profiles deployed to it.
To change the profiles deployed to a container:
Select the container.
In the Properties view, select the Profiles tab.
Select the profile to be deployed to the container.
![]() | Warning |
|---|---|
You selection will override the list of profiles currently deployed to the container. |
![]() | Tip |
|---|---|
You can select multiple profiles by holding the CTRL key |
There are times when you might want to stop then restart a container; for example, to recycle a hung container, force a container to reprovision itself, or reclaim CPU cycles.
To stop a container:
If necessary, in Fabric Explorer, expand the tree of the fabric whose container you want to stop.
Select the container and right-click it to open the context menu.
Click .
![]() | Tip |
|---|---|
To check whether Fuse IDE stopped the container, click Containers in
Fabric Explorer, and open the Properties
view. You should see something similar to Figure 24.6, where |
For information on the meaning of the status indicators that might appear in the Status column of the Properties view, see Table 24.1.
When a container becomes obsolete—no longer used in the fabric integration project—you may want to delete it. Before you do so, make sure no other container in the project depends on it. Deleting a container terminates and the container process and removes its configuration from the fabric.
![]() | Note |
|---|---|
To delete a container, it must be running in the fabric. |
To delete a container:
If necessary, in Fabric Explorer, expand the tree of the fabric whose container you want to delete.
Click Containers to populate Properties view with a list of the fabric's containers.
In Properties view, select the container you want to delete, and
then click
on the right-hand side of the toolbar.
In the Destroy Container(s) dialog, click to delete the selected container.
Fuse IDE displays a message that removal is in progress. In
Properties view, the container's status briefly changes to
stopped, and then the container disappears from the list.
In Fabric Explorer, open the fabric's context menu, and click to update Containers and remove the deleted container from the tree.
![]() | Tip |
|---|---|
If you have the Fuse ESB console open in Shell view, you can verify that
the container and its configuration have been removed from the fabric by entering at the
command line |
Profiles are applied to fabric containers, and they determine the function and behavior of these containers. A profile consists of code and configurations, which specify the type of service or application a container runs. The code may come from OSGi bundles, Fab Application Bundles (see, Fab Deployment Model), and Karaf features pulled from repositories, also specified in the profile. Defined hierarchically, profiles can be set up to inherit from other profiles, building on their parents' definitions.
Fuse IDE provides access to numerous profiles, each of which imparts specific functionality and behaviors to the containers to which it's assigned. But you may want to create new profiles that inherit from these base profiles, so you can override, for example, configuration details. You may also want to create your own profiles to deploy your own code. To do so, you create a new profile based on an existing one, and then change its configuration and properties to generate the specific behaviors you want to deploy to the target containers.
![]() | Tip |
|---|---|
This procedure creates a brand new profile. If you want to create a new version of an existing profile to incrementally test changes to deployed containers, see Working with Versions |
To create a new profile:
In Fabric Explorer, expand the fabric in which you want to create a new profile.
Expand the fabric's tree to the level of the profiles, as shown in Figure 25.1.
Select the profile on which you want to base the new profile, and right-click it to open the context menu.
![]() | Tip |
|---|---|
Because the base profile is the parent of the new profile, the new profile inherits the base profile's configurations, properties, features, repositories and bundles as well as those of the base profile's ancestors. However, a child's configurations override an ancestor's when their configuration files have the same name. |
![]() | Note |
|---|---|
Neither configuration files nor properties are visible within Fuse IDE, but you can view them in Fuse Management Console. For details, see the Fuse Management Console documentation. |
Select .
In Profile name, enter a name for the new profile.
Use a name that is descriptive of the new profile's function.
Click to create and save the new profile.
The new profile is added to the list of profiles in Fabric Explorer, under its parent profile.
In Fabric Explorer, select the new profile to populate the Properties editor with the new profile's properties information and profile details.
In the Properties editor, click the Details tab.
On the Profiles page, you can add, delete, or edit features, the repositories from which features are downloaded, and bundles. You can also or add or remove parent profiles. Profiles can have multiple parents, and they inherit the qualities of each
Features are files that aggregate references to interdependent or related bundles that together define a feature. Typically, you'd use bundles only if the feature they define is not already included in a features file. For more information on bundles and features, see Fuse ESB Enterprise Deploying into the Container.
Child profiles inherit everything (configurations, properties, features, repositories, and bundles) from their immediate parents and from all of their parents' ancestors. When the child's and any ancestor's configuration file have the same name, the child's configuration file replaces the ancestor's file. Otherwise, configurations are cumulative.
![]() | Tip |
|---|---|
The Profiles page displays only the features, repositories, and bundles added by the child profile, not those contributed by the profile's parents or other ancestors. The Parents pane shows (checkbox checked) the profile's immediate parents only. |
Make the changes you want to the new profile to configure it.
Changes are automatically saved as you make them.
![]() | Tip |
|---|---|
In Fuse Integration perspective, you can easily add a Fuse IDE project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Explorer. When you do, Fuse IDE builds the project, runs all tests, installs the project in the new profile, and uploads the profile into the fabric's internal Maven repository. Because profiles are stored in a fabric's internal repository, they cannot be shared across other fabrics. |
![]() | Note |
|---|---|
If you drop your project on a fabric container, rather than on a profile, the next time that container gets provisioned, your project is wiped out. |
You can now assign the new profile to a container.
In Fabric Explorer, select the container to which you want to assign the new profile.
Fuse IDE populates the Properties editor with the container's properties information and profile details.
Open the container's Details tab, and then select the new profile in the Profiles list.
Repeat Step 10 and Step 11 for each container to which you want to assign the new profile.
When a profile is inactive—no longer assigned to any container in the fabric—you can delete it.
To delete an inactive profile:
In Fabric Explorer, expand the fabric which contains the profile you want to delete.
Expand the fabric's tree to the level of versions, and then expand the version that contains the target profile.
Select the target profile, and right-click it to open the context menu.
Select .
Versioning provides the means for safely rolling out upgrades of the profiles deployed and running in containers across a fabric. Using versioning, you can make incremental updates to existing profiles, and then test them out on small groups of containers. When you've completed and tested the final versions, you can confidently deploy them to their target containers in the fabric.
A version is simply the collection of all profiles associated with a fabric. When you create a new version, you are copying all of the profiles from the most recent version—the base version—into the new version. Once that's done, you can upgrade the profiles in the new version by modifying them.
To create a new version:
In Fabric Explorer, select the fabric in which you want to create a new version.
Expand the fabric's tree to the level of Versions, shown in Creating a new profile.
Select a version, and then right-click it to open the context menu.
Select .
In the Create Version wizard, enter a new version or accept the default value.
The default version is always a minor increment of the highest-numbered version. So, if the highest-numbered version is 1.3, the new version will default to 1.4, and all of the profiles in version 1.3 will be copied into version 1.4.
![]() | Important |
|---|---|
Version names are important! Fuse IDE sorts version names based on the numeric version string,
according to major.minor numbering, to determine the
version on which to base a new one. You can safely add a text description to a version
name as long as you append it to the end of the generated default name like this:
|
Click .
Fuse IDE copies all of the base version's profiles into the new version and displays the new version in Fabric Explorer, directly under the base version.
To modify a profile in the new version:
In Fabric Explorer, expand the newly created version.
Select a profile that you want to modify.
Fuse IDE populates the Properties editor with the profile's details for you to edit.
In the Properties editor, click the Details tab to access the Profiles page.
Make the changes you want to the new profile to configure it.
Changes are automatically saved as you make them.
![]() | Tip |
|---|---|
In Fuse Integration perspective, you can easily add a Fuse IDE project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Explorer. When you do, Fuse IDE builds the project, runs all tests, installs the project in the new profile, and uploads the profile into the fabric's internal Maven repository. Because profiles are stored in a fabric's internal repository, they cannot be shared across other fabrics. |
After you've created a new version, you can assign it to selected containers. This feature enables you to easily roll out upgraded profiles in a controlled and orderly way.
![]() | Caution |
|---|---|
Setting a container's version immediately provisions the container with the profiles from the selected version. |
To set a container's version:
In Fabric Explorer, select the container whose profiles you want to change.
Right-click it to open the context menu, and then select .
The submenu lists all available versions.
Click the version you want to assign the selected container.
The container is immediately provisioned with the new version of any profile assigned to it.
To create a fabric on a cloud, you need to
Have established an account with a cloud provider
Provide Fuse IDE the account details for connecting to the cloud
Specify the details required for creating the fabric and the machine image on which it will run
To connect to a cloud, Fuse IDE needs the relevant access and authorization information. This information was provided to you or a system administrator by the cloud provider, when the account was set up.
To add a cloud's access details:
In Fabric Explorer, right-click Clouds to open the context menu, and then select .
In Name, enter a name for the cloud.
In Provider name, select the name of the cloud provider from the drop-down list.
In Identity, enter the account identifier supplied by the cloud provider.
For example, for Amazon Elastic Compute Cloud (EC2) accounts, you'd enter the Access Key ID.
In Credential, enter the account password supplied by the cloud provider.
For example, for Amazon Elastic Compute Cloud (EC2) accounts, you'd enter the Secret Access Key.
In Owner, for EC2 only, enter the id assigned to a custom image.
This option is EC2-specific and applies only to custom images. To query or use a custom image, you must enter the owner id assigned to it by EC2; otherwise, the image will not appear in the list of instances.
Click .
If you entered valid access details, Fuse IDE connects to the cloud whose access details you specified, and the name you entered in Step 2 appears as a node under Clouds in Fabric Explorer.
After you've added the access information that Fuse IDE needs to connect to a cloud, you can create a fabric on the cloud. This procedure assumes that you have already added the cloud details.
Creating a fabric on a cloud involves creating on the cloud a container that contains a fabric registry and specifying the machine image on which you want to create and run it.
To create a fabric on a cloud:
In , right-click to open the context menu, and then select .
On the wizard's Choose the Cloud page, select the cloud from the list, and then click to open the wizard's Fabric Details page.
![]() | Tip |
|---|---|
You may have to wait a few seconds while Fuse IDE retrieves the location, hardware, and image IDs from your cloud provider to populate the wizard's corresponding fields. |
In Fabric Name, accept the default name, or enter a different name for the new fabric.
In Container name, accept the default name, or enter a different name for the new container that will host the fabric registry.
In Group, accept the default name, or enter a different name for the group in which to start up the new fabric registry container.
In User, accept the default name, or enter a different user name to use for logging into the new fabric registry container.
In Location ID, select from the drop-down list the ID of the region in which the machines you want to use are located.
In Hardware ID, select from the drop-down list the ID of the hardware archetype you want to use.
Hardware archetypes specify the amount of memory and compute power available for running applications on machine images.
![]() | Important |
|---|---|
The next three fields provide two methods for specifying the software configuration (operating system, application server, and applications) you want to use. Either select an OS Family (and optionally a version), or select an Image ID. |
In OS Family, select from the drop-down list the family name of the operating system you want to use.
If you select an OS Family, do not also select an Image ID.
In OS Version, optionally select from the drop-down list the version for the operating system you selected.
If you selected an OS Family, skip this step. Otherwise, in Image ID, select from the drop-down list the ID of the image template to use for the software configuration.
In Maven proxy URI, accept the default URI, or enter the URI to the Maven proxy repository you want to use.
Click .
Fuse IDE creates the container, then provisions it with all of the bundles, features, and profiles required to create a fabric registry. This process can take up to ten minutes. When it's done, the container specified in Step 4 appears in Fabric Explorer as a node under Fabrics.
![]() | Tip |
|---|---|
It's a good idea to access your cloud account and verify that the new fabric registry container is up and running. |
New Camel XML File — Creates a new XML file for editing routes with the route editor
Table A.1 describes the properties you can specify.
Table A.1. New Camel XML File properties
| Name | Default | Description |
|---|---|---|
| RouteContainer | Specifies the folder into which the new file will be placed. | |
| File Name | camelContext.xml | Specifies the name of the new routing context file. |
| Framework | Spring | Specifies whether the context file is intended to be used in a Spring container or in an OSGi container that supports Blueprint. |
![]() | Important |
|---|---|
The Spring framework and the OSGi Blueprint framework require that all Apache Camel
files be placed in specific locations under the project's
|
New Fuse Project — Creates a new Fuse IDE project
Table A.2 describes the properties you can specify.
Table A.2. New Fuse IDE project: select project location properties
| Name | Default | Description |
|---|---|---|
| Use default Workspace location | Enabled | Specifies whether to create the new project in the default workspace. |
| Location | Specifies the full path to an alternate workspace when the default workspace location option is disabled. | |
| Add project(s) to working set | Disabled | Specifies whether to add the new project to one or more established working sets. |
| Working set | Specifies the working sets in which to add the new project when the working set option is enabled. |
New Fuse Project — Creates a new Fuse IDE project
Table A.3 describes the properties you can specify.
Table A.3. New Fuse IDE project: select project archetype and specify its details properties
| Name | Default | Description |
|---|---|---|
| Archetype | Specifies the Maven archetype to use to create the new project. | |
| Group ID | Specifies the group ID Maven uses when generating the new project. This ID is
mapped to the POM file's groupId element. | |
| Artifact ID | Specifies the artifact ID Maven uses when generating the new project. This ID is
mapped to the POM file's artifactId element. | |
| Version | 1.0.0-SNAPSHOT | Specifies the version name Maven uses when generating the new project. You can
accept the default version name, or enter a new one. This value is mapped to the POM
file's version element. |
| Package | <groupID>.<artifactID> | Specifies the package name for the generated artifacts. You can accept the default package name, or enter a new one. |
New Fuse Message — Creates a new message to use in route tracing
Table A.4 describes the properties you can specify.
Table A.4. Fuse Message File properties
| Name | Default | Description |
|---|---|---|
| RouteContainer | The selected folder | Specifies the folder into which the new message file will be placed. |
| File Name | message.xml | Specifies the name of the new message file. |
Camel JUnit Test Case — Configures the JUnit artifacts created to test a Apache Camel route.
Table A.5 describes the properties you can specify.
Table A.5. Camel JUnit properties
| Name | Default | Description |
|---|---|---|
| Source Folder | project/src/test/java | Specifies the folder into which the JUnit code is placed. |
| Package | Name of the package when the project was created | Specifies the package name for the JUnit code. |
| Camel XML file under test | Selected context file, or blank if other than a context file is selected | Specifies the Camel XML file containing the routes to be tested. |
| Name | classname based on the selected context file (for example, CamelContextXMLTest), or empty if none selected | Specifies the name of the JUnit class. |
| Method stubs | Specifies the JUnit method stubs to include in the generated test class. | |
| Generate comments | Specifies whether to generate comments in the new test class. |
Test Endpoints — Lists the endpoints that can be tested by a JUnit test case.
Table A.6 describes the properties you can specify.
Table A.6. Test Endpoint properties
| Name | Default | Description |
|---|---|---|
| Available endpoints | all | Specifies the endpoints to test in the JUnit test case. |
Define a New Server — Defines a new server instance.
Table A.7 describes the properties you can specify.
Table A.7. New Server properties
| Name | Default | Description |
|---|---|---|
| Server type | Specifies the type of server to define. | |
| Server's host name | Specifies the name of the machine running the server. | |
| Server name | Specifies the name of the server. | |
| Server runtime environment | Selected server's runtime | Specifies the runtime environment of the server. |
New Server Configuration — Configures access details for the server.
Table A.8 describes the properties you can specify.
Table A.8. Server Configuration details properties
| Name | Default | Description |
|---|---|---|
| Host Name | For localhost, 0.0.0.0 | Specifies the address of the machine running the server. |
| Port Name | 8101 | Specifies the port used to contact the server. |
| User Name | [Optional] Specifies the name of a user authorized to access the server remotely. | |
| Password | [Optional] Specifies the password the authorized user must enter to access the server remotely. |
Add and Remove — Specifies the resources available to a server.
Table A.9 describes the properties you can specify.
Table A.9. Add and Remove properties
| Name | Description |
|---|---|
| Available | Specifies the resources that are available to the server. |
| Configured | Specifies the resources that server is configured to use. |
Fabric Details — Specifies information needed to connect to a fabric.
Table A.10 describes the properties you can specify.
Table A.10. Fabric Details properties
| Name | Default | Description |
|---|---|---|
| Name | Local Fabric | Specifies the name of the fabric to connect to. |
| URLs | localhost:2181 | Specifies the url, in the form of hostname:port, of
the specified fabric. |
| User name | admin | Specifies the name of a user that has login privileges. |
| Password | admin | Specifies the password of the specified user. |
Create Child Container — Specifies information needed to create a container on the local host.
Table A.11 describes the properties you can specify.
Table A.11. Create Child Container properties
| Name | Default | Description |
|---|---|---|
| Container name | Container# | Specifies the name of the new container. |
| Version | The highest-numbered version according to major.minor numbering | Specifies the version of the profiles to use. |
| Profiles | Specifies the profile(s) to install in the new container. |
Create Container via SSH — Specifies information needed to create a container on a remote host.
Table A.12 describes the properties you can specify.
Table A.12. Create Container via SSH properties
| Name | Default | Description |
|---|---|---|
| Container name | Container# | Specifies the name of the new container. |
| Version | The highest-numbered version according to major.minor numbering | Specifies the version of the profiles to use. |
| Host | Specifies the name or the IP address of the remote host. | |
| User name | Specifies the name of a user authorized to login to the remote host. | |
| Password | Specifies the password of the specified user. | |
| Path | /usr/local/fusesource/container | Specifies the path of the new container's location on the remote host. |
| Port | 22 | Specifies the port number to use for establishing an ssh connection on the remote host. |
| SSH retries | 5 | Specifies the maximum number of retries to attempt at establishing an ssh connection on the remote host. |
| Retry delay | 1 | Specifies the delay, in milliseconds, between retry attempts. |
| Profiles | Specifies the profile(s) to install in the new container. |
Create Container in a Cloud — Specifies information needed to create a container in a cloud.
Table A.13 describes the properties you can specify.
Table A.13. Create Container in a Cloud:New Containers details properties
| Name | Default | Description |
|---|---|---|
| Container name | Container# | Specifies the name of the new container. |
| Version | The highest-numbered version according to major.minor numbering | Specifies the version of the profiles to use. |
| Group | Specifies the name of the group in which to start up the new container. | |
| User | Specifies the name of a user authorized to login to the new container. | |
| Location ID | Selects the region in which the machines you want to use are located. | |
| Hardware ID | Selects the hardware archetype to use. | |
| OS Family | Selects the general operating system to use. | |
| OS Version | Selects the version of the operating system you selected. | |
| Image ID | Selects a specific image template to use for the software configuration. | |
| Profiles | Specifies the profile(s) to install in the new container. |
Create Version — Specifies the identifier for the new version of the fabric's profiles.
Table A.14 describes the properties you can specify.
Table A.14. Create Version properties
| Name | Default | Description |
|---|---|---|
| Create a new version for rolling upgrades to Profiles | The highest-numbered version according to major.minor numbering | Specifies the identifier for the new version of fabric's profiles. |
Cloud Details — Specifies information needed to connect to a cloud.
Table A.15 describes the properties you can specify.
Table A.15. Cloud Details properties
| Name | Default | Description |
|---|---|---|
| Name | Specifies the name of the cloud to connect to. | |
| Provider name | Selects the cloud provider. | |
| Identity | Specifies the the account identifier (supplied by the cloud provider). | |
| Credential | Specifies the account password (supplied by the cloud provider). | |
| Owner | Specifies the name of the account owner. |
Create Fabric in the Cloud — Specifies information needed to create a fabric in a cloud.
Table A.16 describes the properties you can specify.
Table A.16. Create Fabric in a Cloud:Fabric details properties
| Name | Default | Description |
|---|---|---|
| Fabric name | Cloud Fabric | Specifies the name of the new fabric. |
| Container name | Registry | Specifies the name of the fabric registry container. |
| Group | fabric | Specifies the name of the group in which to start up the fabric registry container. |
| User | admin | Specifies the name of a user authorized to login to the fabric registry container. |
| Location ID | Selects the region in which the machines you want to use are located. | |
| Hardware ID | Selects the hardware archetype to use. | |
| OS Family | Selects the general operating system to use. | |
| OS Version | Selects the version of the operating system you selected. | |
| Image ID | Selects a specific image template to use for the software configuration. | |
| Maven proxy URI | http://repo.fusesource.com/nexus/content/groups/ea | Specifies the Maven proxy repository to use. |
Deploy Folders — Configures the hot deployment folders for the containers into which routes can be deployed.
Table B.1 describes the properties you can specify.
Table B.1. Deployment folder properties
| Name | Description |
|---|---|
| Name | Specifies the name Fuse IDE uses to identify the container. |
| Deploy Folder | Specifies the full path the container's hot deploy directory. |
| Description | Specifies a brief description of the container. |
![]() | Deploy Folder |
|---|---|
Fuse IDE does not validate that the provided path is a valid deployment directory for a container. |
Editor — Sets the default value for some route editor properties.
Table B.2 describes the properties you can specify.
Table B.2. Editor Properties
| Name | Default | Description |
|---|---|---|
| Language | Simple | Specifies the default expression language used by the route editor. |
| ID values | Enabled | Determines whether ID values are used to label EIP nodes on the route editor's canvas. |
| Layout direction | Right | Specifies the direction in which routes are laid out on the route editor's canvas. |
| Diagram grid | Enabled | Determines whether a grid overly is displayed in the background on the route editor's canvas. |
JMX Explorer — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties view
Table B.3 describes the properties you can specify.
Table B.3. Monitor Properties
| Name | Default | Description |
|---|---|---|
| Period to update | 1000 | Specifies the update frequency, in milliseconds, for the local JMX server's statistics. |
| Timeline | Disabled | Determines whether the graphs displayed on the Timeline tab have legends. |
| Threads | Enabled | Determines whether stack traces are considered when displaying information in the Threads tab. |
| Memory | Enabled | Determines whether stack traces are considered when displaying information in the Memory tab. |
Tools — Configures the monitoring of local JMX servers and how information is displayed in the Fuse perspective's Properties panel
Table B.4 describes the properties you can specify.
Table B.4. Tools Properties
| Name | Default | Description |
|---|---|---|
| Auto detect... | 3000 | Specifies the number of milliseconds the JMX explorer scans a JVM to see if it is still running. |
| Memory | 50 | Specifies the maximum number of classes included in the heap histogram displayed on the Memory tab. |