-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Fuse
Using the Fuse Developer Tools
Developing and Testing Applications
Red Hat
Copyright © 2013 Red Hat, Inc. and/or its affiliates.
Abstract
Part I. Developing Applications
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
rearranged so that deployment is at the bottom | ||
7/22/11 | EMJ | |
smooshed a bunch of editing topics into one chapter | ||
8/11/11 | EMJ | |
dispersed the configuration stuff to more topical areas | ||
8/15/11 | EMJ | |
added intro material describing a basic work flow | ||
1/4/12 | JCM | |
version 2.1 updates |
- Red Hat JBoss Fuse
- Red Hat JBoss A-MQ
- Apache Camel
- Apache CXF
- Apache Karaf
- Create a Maven project for your application.The developer tools load all of the relevant Maven archetypes for creating integration projects using the Red Hat supported Apache projects.
- Add new pieces of logic and functionality to an application.The developer tools have a wizard for creating Apache Camel context files.
- Edit the integration logic.The developer tools have a visual route editor that makes editing Apache Camel routes as easy as dragging and dropping route components.
- Test the application.The developer tools include testing tools that 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.The developer tools can deploy applications to a number of containers.
Chapter 1. Design Time Tooling
1.1. The route editor
Overview
Figure 1.1. route editor
- Canvas—the large grid area on which routes are constructed
- Palette—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.NoteWe 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
<camelContext>
element in the routing context file. - Properties editor—the editor in which you configure the selected node's properties. It opens in a tab in the pane below the canvas.
Canvas
Palette
- 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
Outline view
Properties editor
Figure 1.2. Properties editor's error reporting
1.2. Creating projects, routes, and test cases
Overview
- Red Hat JBoss Fuse projects
- Apache Camel context files
- Apache Camel-specific JUnit tests
Fuse projects
Apache Camel context files
Apache Camel test cases
Fuse messages
1.3. Exercising routes
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
added entry for Tomcat deployment | ||
09/09/12 | EMJ | |
removed subscription restriction comments |
Overview
- run a route using Maven
- run a route as a local Apache Camel context
- deploy into a running OSGi container
Using Maven
Running as a local Apache Camel context
Deploying to OSGi
Chapter 2. Creating a New Fuse Project
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
Changed the archetype note to include blueprint and clarify that the limitation is just for the designer | ||
7/12/12 | EMJ | |
Removed comments about determining supported project types by their description | ||
7/12/12 | EMJ | |
Clarified some of the steps |
Overview
Procedure
- Select File → New → Fuse Project to open the New Fuse Project wizard shown in Figure 2.1, “New Fuse Project Wizard's Project Location Page”.
Figure 2.1. New Fuse Project Wizard's Project Location Page
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.Clicking opens a file browser.
- 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.
Figure 2.2. New Fuse Project wizard's details page
- Select a project type from the list.NoteThe route editor works with these project types:
- camel-archetype-activemqCreates a new Apache Camel project that configures and interacts with Apache ActiveMQ.
- camel-archetype-blueprintCreates a new Apache Camel project with support for OSGi blueprint.
- camel-archetype-componentCreates a new Apache Camel project for building a new component.
- camel-archetype-component-scalaCreates a new Apache Camel project for building a new component using Scala.
- camel-archetype-dataformatCreates a new Apache Camel project for building a new data format.
- camel-archetype-javaCreates a new Apache Camel project using Java DSL.You cannot edit Java DSL in the route editor.
- camel-archetype-scalaCreates a new Apache Camel project using Scala DSL.
- camel-archetype-springCreates a new Apache Camel project with added support for Spring DSL.
- camel-archetype-spring-dmCreates a new Apache Camel web project that deploys the routes as a WAR.
- camel-archetype-webCreates a new Apache Camel project with added support for Spring DSL.
- camel-archetype-webconsoleCreates a new Apache Camel project that deploys the Apache Camel Web Console, REST API, and your routes as a WAR.
- camel-cxf-code-first-archetypeCreates a new Apache Camel project using Apache CXF code (Java) first.
- camel-cxf-contract-first-archetypeCreates a new Apache Camel project using Apache CXF contract (WSDL) first.
- camel-drools-archetypeCreates a new Apache Camel project that uses the Drools rule engine. Because this archetype is not yet OSGi ready with Spring and Camel, it is provided as a technical preview only. It is not ready for use in production environments.
- Enter a group ID for the project in the Group Id field, or accept the default.The developer tools use 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 asDemo.
. - Enter an artifact ID for the project in the Artifact Id field, or accept the default.The developer tools use 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 asDemo.BigRoute
. - Enter a version for the project in the Version field, or accept the default.
- If you want to change the package name generated for the artifacts, enter the new package name in the Package field.
- Click Finish to create the Maven project, which contains starting point artifacts.
Resolving Maven dependency errors
- In Package Explorer, select the root project just created.
- Right-click it to open the context menu.
- Select Maven → Update Project...
- In the Update Maven Project wizard, check Force Update of Snapshots/Releases.
- Click OK.In the bottom, right corner of the workbench, you may see the progress status bar churning as missing dependencies are downloaded from the Maven repositories.
Related topics
New Fuse Project |
Chapter 3. Creating a New Camel XML file
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
Changed note about location to clarify that it is for using Spring | ||
7/20/12 | EMJ | |
Fixed FIDEDOC-3 by adding location used by Blueprint |
Overview
camelContext
element. The developer tools include 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.
Procedure
- Select File → New → Camel XML File from the main menu to open the Camel XML File wizard, as shown in Figure 3.1, “Camel XML File wizard”.
Figure 3.1. Camel XML File wizard
- In RouteContainer, enter the location for the new file, or accept the default.You can click to search for an appropriate location.ImportantThe Spring framework and the OSGi Blueprint framework require that all Apache Camel files be placed in specific locations under the project's
META-INF
folder:- Spring—
projectName /src/main/resources/META-INF/spring/
- OSGi Blueprint—
projectName /src/main/resources/META-INF/blueprint/
- In File Name, enter a name for the new context file, or accept the default.The file's name cannot contain spaces or special characters, and it must be unique within the JVM.
- In Framework, accept the default, or select which 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
camelContext
s
- Click Finish.The new context file is added to the project and opened in the route editor.
Related topics
New Camel XML File |
Chapter 4. Editing a routing context in the route editor
Revision History | ||
---|---|---|
8/11/11 | EMJ | |
Added editor configuration topic |
- 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.
4.1. Adding routes to the routing context
Overview
camelContext
element within an xml context file creates a routing context. The camelContext
element can contain one or more routes, but the route editor's 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.
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. The design time tooling updates the empty route
element with xml generated from the patterns you drop onto the canvas.
- From the menu bar, by opening the Routes menu, and then selecting Add Route
- In Design view, by right-clicking the canvas or a node to access the context menu, and then selecting Add → Route
- In Source view, by adding a
<route/>
element to the existing list within thecamelContext
element
Procedure
- Select one of the methods for adding a route.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 File → Save to save the changes you made to the routing context file.
4.2. Adding patterns to a route
4.2.1. Drag and drop a pattern
Overview
Procedure
- In the Palette, locate the desired pattern.
- Select the pattern, drag it to the canvas, and then release the mouse button.NoteYou need not place the pattern in its intended location. You can easily move any node on the canvas by dragging it to a new location.
Related topics
Section 4.5, “Rearranging patterns on the canvas” |
Section 4.4, “Configuring a pattern” |
Section 4.6, “Removing patterns from a route” |
4.2.2. Using the context menu
Overview
Procedure
- In the canvas, select the node to which you want to connect the new pattern.
- Right-click it to open the context menu.
- Select Add 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.
Related topics
Section 4.5, “Rearranging patterns on the canvas” |
Section 4.4, “Configuring a pattern” |
Section 4.6, “Removing patterns from a route” |
4.3. Connecting patterns to make a route
Overview
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.
Procedure
- 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 File → Save from the menu bar.
4.4. Configuring a pattern
Overview
- 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
Procedure
- 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 File → Save from the menu bar.
Related topics
4.5. Rearranging patterns on the canvas
4.5.1. Rearranging patterns by dragging them
Overview
Procedure
- Determine which node or nodes you want to move.
- Select one node, or select a group of nodes by dragging a box around them.
- Drag the node or nodes to their new location, then release the mouse button.
4.5.2. Automatically aligning patterns
Overview
Procedure
- Right-click the canvas to open the context menu.
- Select Layout Diagram.
4.6. Removing patterns from a route
Overview
Procedure
- Select the node you want to delete.
- Right-click it to open the context menu.
- Select Remove.
Related topics
Section 4.2, “Adding patterns to a route” |
4.7. Disconnecting two patterns
Overview
Procedure
- Select the connector you want to delete.
- Right-click it to open the context menu.
- Select Remove.
Related topics
Section 4.3, “Connecting patterns to make a route” |
4.8. Deleting a route
Overview
Procedure
- If the routing context contains more than one route, first select the route you want to delete in Outline view.
- Right-click on the canvas to open the context menu.
- Select Remove Route.
4.9. Adding beans and configuration
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
added link to source editor topic and changed Spring Beans to beans |
Overview
Procedure
- 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 thecamelContext
element.NoteUse theid
attribute to identify the bean, not thename
attribute.ImportantDo not edit the contents of thecamelContext
element. Red Hat JBoss Fuse Plugins for Eclipse overwrites thecamelContext
element when changes are made to the route diagram in Design view. - Save your changes by selecting File → Save 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.
Related topics
Chapter 6, The Source View |
Configuring a Component in the Endpoint Reference guide |
4.10. Configuring the route editor
Overview
- 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
Procedure
- On the menu bar, select JBoss Developer Studio → Preferences to open the Preferences dialog.
- Select Fuse Plugins for Eclipse → Editor 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 Apply to apply the changes to the Editor Preferences.
- Select Fuse Plugins for Eclipse → Colors 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 Apply and then OK, to close the Preferences dialog.You can restore the route editor's original color scheme at any time by returning to Fuse Plugins for Eclipse → Colors and clicking Restore Defaults.
Related topics
Editor |
Chapter 5. Creating a new Apache Camel JUnit test case
Revision History | ||
---|---|---|
11/16/2012 | JCM | |
Added heads up for users to edit their JUnit test case to ensure it runs a valid test |
Overview
Procedure
- In Package Explorer, select the camel-context.xml file in your routing project.
- Right-click it to open the context menu, and then select New → Camel Test Case to open the New Camel JUnit Test Case wizard, as shown in Figure 5.1, “New Camel JUnit Test Case wizard”.
Figure 5.1. New Camel JUnit Test Case wizard
Alternatively, you can open the wizard by selecting File → New → Camel Test Case from the menu bar. - In Source folder, accept the default location of the source code for the test case, or enter another location.You can click to search for a location.
- In Package, accept the default package name for the generated test code, or enter another package name.You can click to search for a package.
- 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.You can click to search for a context file.
- 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. For example, Figure 5.2, “New Camel JUnit Test Case page” shows a route's input and output file endpoints selected.
Figure 5.2. New Camel JUnit Test Case page
- Under Available endpoints, select the endpoints you want to test. Click the checkbox next to any selected endpoint to deselect it.
- Click .NoteIf prompted, add JUnit to the build path.
src/test/java
. The class implementing the test case opens in the Java editor.
Related topics
New Camel JUnit Test Case |
Test Endpoints |
chapter "Testing a Route with JUnit" in "Fuse IDEFuse Plugins for Eclipse Tutorials" |
Chapter 6. The Source View
Figure 6.1. Source view
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.
Chapter 7. Running routes inside Red Hat JBoss Fuse Plugins for Eclipse
7.1. Running routes using Maven
Overview
Procedure
- In Package Explorer, select the root of the project .
- Right-click it to open the context menu, and then select Run As → Maven build.
- 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 Apply and then Run.
- Subsequent Maven runs use this profile, unless you modify it between runs.
Results
Related topics
Section 7.3.2, “Editing a Maven runtime profile” |
7.2. Running routes as a local Camel context
Overview
Procedure
- In Package Explorer, select a routing context file.
- Right-click it to open the context menu, and then select Run As → Local Camel Context.NoteSelecting Local Camel Context (without tests) directs the Red Hat JBoss Fuse Plugins for Eclipse to run the project without performing validation tests, which may be faster.
Result
Related topics
Section 7.3.1, “Editing a Local Camel Context runtime profile” |
7.3. Working with runtime profiles
7.3.1. Editing a Local Camel Context runtime profile
Overview
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.
- 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.
Accessing the Local Camel Context's runtime configuration editor
- 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 Run As... → Run Configurations to open the Run Configurations dialog.
- In the context selection pane, select Local Camel Context, and then click at the top, left of the context selection pane.
- In the Name field, enter a new name for your runtime profile.
Figure 7.1. Runtime configuration editor for Local Camel Context
Setting the camel context file
Changing the command line options
-fa context-file
Changing where output is sent
- 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 Workspace..., File System..., and Variables... buttons facilitate building the path to the output file.
Related topics
Section 7.2, “Running routes as a local Camel context” |
7.3.2. Editing a Maven runtime profile
Overview
- 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.
Accessing the Maven runtime configuration editor
- 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 Run As... → Run Configurations to open the Run Configurations dialog.
- In the context selection pane, select m2 Maven Build, and then click at the top, left of the context selection pane.
Figure 7.2. Runtime configuration editor for Maven
Changing the Maven goal
camel:run
. It loads the routes into a Spring container running in its own JVM.
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.
Changing the version of Maven
Changing where the output is sent
- 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 Workspace..., File System..., and Variables... buttons facilitate building the path to the output file.
Related topics
Section 7.1, “Running routes using Maven” |
Chapter 8. Deploying Projects to a Container
Revision History | ||
---|---|---|
8/11/11 | EMJ | |
made a chapter with sections to include container config | ||
7/13/12 | EMJ | |
rewrote for clarity and accuracy | ||
7/13/12 | EMJ | |
merged configuration of hot deploy folder and hot deploy procedure into a single section |
- Red Hat JBoss Fuse
- Apache ServiceMix
- Apache Karaf
- into a container's deploy folderYou copy the package generated by the developer tools into the container's deploy folder. This method has two drawbacks:
- The developer tools do not verify that the project builds a package that is compatible with the target container.
- The developer tools do not provide feedback as to whether the deployment succeeds or fails.
- to a JMX connected containerThe developer tools build the project, and, regardless of the packaging specified in the project's POM, installs the generated artifacts as a bundle. You can use the Fuse JMX Navigator to determine if the project deploys successfully.
- to a fabric profileThe developer tools build 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.ImportantIf the profile is not assigned to a running container the project will not be deployed into the fabric. You must assign the profile to a running container before you can see the project running.
8.1. Using a Container's Deploy Folder
- the specified location is a container's deploy folder
- the package generated by the project is compatible with the container
8.1.1. Configuring a Container's Deploy Folder
Revision History | ||
---|---|---|
7/22/11 | EMJ | |
Added info about opening the container preferences | ||
7/13/12 | EMJ | |
changed deployment folder to deploy folder so it is consistent with the UI | ||
7/13/12 | EMJ | |
edited for clarity |
Overview
Accessing the Deploy Folder preference panel
- selecting JBoss Developer Studio → Preferences → Fuse Plugins for Eclipse from the main menuThis method opens the general Eclipse preference window. You need to select Deploy Folders from the list of preferences in the panel on the left side of the widow.
- selecting Deploy to... → Deploy Folder Configurations... from the project's context menuThis method opens the preferences window and ensures that the Deploy Folders panel is selected.
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.The button opens a file explorer.ImportantThe developer tools do not validate whether the selected folder is a valid deployment folder for a container.
- In the Description field, enter a description for the container.
- Click Add to add the new container to the table of configured containers.
- Click OK to close the preferences window.
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.ImportantChanging the value of the Name field creates a new container configuration.
- Click .
- Click OK to close the preferences window.
Delete a container's deploy folder
- Open the Deploy Folder preference panel.
- Select the container to be deleted.
- Click .
- Click OK to close the preferences window.
Related topics
Chapter 8, Deploying Projects to a Container |
Deploy Folders |
8.1.2. Deploying a Project to a Container's Deploy Folder
Revision History | ||
---|---|---|
8/11/11 | EMJ | |
Split into a section |
Overview
Procedure
- Select the routing context file that you want to deploy.ImportantThe project must be configured to package the results in a format that the target container can deploy.
- Select Deploy to... → containerName from the project's context menu.Red Hat JBoss Fuse Plugins for Eclipse builds the project and copies the results to the selected container's deploy folder.NoteIf you have not already configured a container, you can do so by selecting Deploy to... → Deploy Folder Configurations... 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.
Related topics
Section 8.1.1, “Configuring a Container's Deploy Folder” |
8.2. Deploying a Project to a JMX Connected Container
Overview
Procedure
- Open the Fuse Integration perspective.
- In Fuse JMX Navigator, 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 Deploy to... → container[xxx].
- Check the Console view to see that your project builds successfully and is installed in the container.
- In Fuse JMX Navigator, click container[xxx] → Bundles 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 Fuse JMX Navigator, 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 Red Hat JBoss Fuse environment.
Related topics
Chapter 11, The Fuse JMX Navigator |
Section 8.1.1, “Configuring a Container's Deploy Folder” |
Chapter 4, Editing a routing context in the route editor |
Chapter 14, Tracing messages through routes |
8.3. Deploying a Project to a Fabric Container
Revision History | ||
---|---|---|
7/19/12 | EMJ | |
rewrote for clarity and accuracy |
Overview
Procedure
- Open the Fuse Integration perspective.
- In Fabric Navigator, 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 Section 24.1, “Creating a new profile” up to Step 6.The new profile appears in the profile tree in Fabric Navigator.
- In Project Explorer, select the project you want to deploy.
- Open the project's context menu.
- Select Deploy to... → fabric → version 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 Navigator, 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 Chapter 23, Working with Fabric Containers.The new container appears in Fabric Navigator, under the fabric's Containers node.
- Assign the profile containing your application to a container in the fabric.Follow the procedure in Section 23.5, “Changing a Container's Profiles”.
- Verify that the application was deployed to the container.
- In Fabric Navigator, double-click the new container to start it and to populate Properties view with its properties and profile information.
- In Fabric Navigator, click the container's Bundles node to view the list of bundles installed on it.
Related topics
Part II. Debugging
Revision History | ||
---|---|---|
8/15/11 | EMJ | |
reorged to group topics by user functions | ||
8/17/11 | EMJ | |
added new server docs | ||
7/13/12 | EMJ | |
collected all of the JMX explorer procedures in a single chapter |
Chapter 9. Debugging tooling
9.1. The Fuse Integration perspective
Overview
Figure 9.1. Fuse Integration perspective
- Fuse JMX Navigator—lists the JMX servers and the infrastructure they monitor.
- Diagram View—provides a graphical representation of an item selected in the Fuse JMX Navigator. 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 Red Hat JBoss Fuse, Apache Karaf, or Apache ServiceMix containers defined in the debugging tooling environment.
- Properties—displays the properties of the selected item.
Fuse JMX Navigator
Messages view
9.2. Infrastructure monitoring
Overview
Visualizations
JMX metrics
- time running
- time to process a message
- number of messages processed
- processor load
- memory foot print
9.3. Route debugging
Overview
Live debugging
Visualization
9.4. JMS browsing
Overview
Viewing messages
Adding messages
Chapter 10. Opening the Fuse Integration Perspective
Revision History | ||
---|---|---|
7/13/12 | EMJ | |
added descriptions of all the views that make up the perspective |
Overview
- Project ExplorerA standard Eclipse view that shows all of the projects known to the developer tools. You can view and select the artifacts that make up each project.In Project Explorer, the debugging tooling displays all of the camel context files for a project under the project's Camel Contexts node. This makes it easy for you to find and open the context file of any route in a project.
- Fuse JMX NavigatorA customized JMX view that allows you to browse JMX servers and the processes they are monitoring. The Fuse JMX Navigator automatically lists all of the JMX servers running on the local machine. It also can identify instances of Red Hat processes.
- Diagram ViewDisplays a graphical tree representing the node selected in the Fuse JMX Navigator.When you select a process, server, endpoint, or other node in Fuse JMX Navigator, 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 Fuse JMX Navigator 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.
- ShellShows the command console of a container. You can control the connected container by entering commands into the shell.
- Messages ViewDisplays the list of messages sitting in the node selected in Fuse JMX Navigator. This view is populated only when a JMS destination or route endpoint is selected.See Chapter 13, Browsing messages for more details.NoteRoute endpoints contain messages only when route tracing is activated. See Section 14.3, “Tracing messages through a route” for more information.
- ServersDisplays a list of the servers managed by the developer tools. It displays their runtime status and provides controls for stopping and starting them.
- ConsoleDisplays the console output for recently executed actions.
- PropertiesThe Properties view displays the JMX properties for the node selected in Fuse JMX Navigator.
Opening the perspective
Related topics
Chapter 11. The Fuse JMX Navigator
Figure 11.1. Fuse JMX Navigator
11.1. Viewing Processes in JMX
Overview
Viewing processes in a local JMX server
- Expand the Local Processes entry in the Fuse JMX Navigator.
- 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.
Viewing processes in alternate JMX servers
- Add the JMX server to the explorer.
- Expand the server's entry in the Fuse JMX Navigator using the icon that appears next to the entry to display the list of all components running in the JVM.
11.2. Adding a JMX server
Overview
Procedure
- Click to the right of the Fuse JMX Navigator tab.
- In the Create a new JMX connection wizard, select Default JMX Connection.
- Click Next>.
- 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 Fuse JMX Navigator 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 Finish.The new JMX server is displayed as a branch in the Fuse JMX Navigator tree.
Chapter 12. Viewing a component's properties
Overview
Procedure
- Locate the node for the component in the Fuse JMX Navigator.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.You can use the Search box in Properties view to locate specific properties based on value.
Chapter 13. Browsing messages
Revision History | ||
---|---|---|
8/15/11 | EMJ | |
generalized for all endpoints and added list of things that can be browsed |
Overview
- JMS destinations
- JMS routing endpoints
- Apache Camel routing endpoints
- SEDA routing endpoints
- Browse routing endpoints
- Mock routing endpoints
- VM routing endpoints
- DataSet routing endpoints
Procedure
- Select the JMS destination or endpoint from Fuse JMX Navigator.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.
Related topics
Section 14.3, “Tracing messages through a route” |
Chapter 14. Tracing messages through routes
- a message was improperly transformed
- a message failed to reach its destination endpoint
14.1. Creating test messages for route tracing
Overview
message
root element in the namespace http://fabric.fusesource.org/schema/messages
.
Procedure
- In Project Explorer, right-click the project to open the context menu.
- Select New → Fuse Message 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.Use the Browse... button to help locate the proper folder.
- In the File name field, enter a name for the message.
- Click Finish.The new message opens in the XML editor.
- Fill in the contents (body and header text) of the message.
- On the menu bar, click File → Save to save the test message.
Related topics
Section 14.3, “Tracing messages through a route” |
New Fuse Message |
14.2. Activating route tracing
Overview
Procedure
- In the Fuse JMX Navigator tree, select the routing context on which you want to start tracing.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 Start Tracing.If Stop Tracing Context appears on the context menu, tracing is already active.
Related topics
Section 14.3, “Tracing messages through a route” |
Section 14.4, “Deactivating route tracing” |
14.3. Tracing messages through a route
Overview
Procedure
- Create one or more test messages as described in Section 14.1, “Creating test messages for route tracing”.
- Activate tracing for the route's routing context as described in Section 14.2, “Activating route tracing”.
- Drag one of the test messages onto the route's starting point.
- In the Fuse JMX Navigator 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.
Related topics
Section 14.1, “Creating test messages for route tracing” |
Section 14.2, “Activating route tracing” |
Section 14.4, “Deactivating route tracing” |
14.4. Deactivating route tracing
Overview
Procedure
- In the Fuse JMX Navigator tree, select the routing context for which you want to deactivate tracing.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 Stop Tracing Context.If Start Tracing appears on the context menu, tracing is not activated for the routing context.
Related topics
Section 14.2, “Activating route tracing” |
Section 14.3, “Tracing messages through a route” |
Chapter 15. Managing JMS destinations
15.1. Adding a JMS destination
Overview
Procedure
- In the Fuse JMX Navigator 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 Create Queue/Topic.
- In the naming dialog, enter a name for the destination.
- Click OK.The new destination appears in the tree.
Related topics
Section 15.2, “Deleting a JMS destination” |
15.2. Deleting a JMS destination
Overview
Procedure
- In the Fuse JMX Navigator tree, select the JMS destination you want to delete.
- Right-click it to open the context men, and then select Delete Queue/Topic.
Related topics
Section 15.1, “Adding a JMS destination” |
Chapter 16. Managing routing endpoints
16.1. Adding a routing endpoint
Overview
Procedure
- In the Fuse JMX Navigator 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 Create Endpoint.
- In the naming dialog, enter a URL defining the new endpoint.
- Click OK.The new destination appears in the tree.
Related topics
Section 16.2, “Deleting a routing endpoint” |
16.2. Deleting a routing endpoint
Overview
Procedure
- In the Fuse JMX Navigator tree, select the endpoint you want delete.
- Right-click it to open the context menu, and then select Delete Endpoint.
Related topics
Section 16.1, “Adding a routing endpoint” |
Chapter 17. Editing running routes
Revision History | ||
---|---|---|
07/23/12 | EMJ | |
Streamlined the steps about saving the changes |
Overview
Procedure
- In the Fuse JMX Navigator tree, select the context containing the route(s) you want to edit.
- Right-click to open the context menu, and select Edit Routes.Route editor displays the context and all of its routes.
- Edit the route(s) as described in Part I, “Developing Applications”.
- When done, save the edited route.
- Select File → Save to update the in-memory version of the routing context.Changes take effect immediately.
- >Select File → Save As to save the edited routing context in a new context file.
Related topics
Chapter 18. Managing routing contexts
18.1. Suspending a routing context
Overview
Procedure
- In the Fuse JMX Navigator tree, expand the project's Camel Contexts node, and select the routing context you want to suspend.
- Right-click it to open the context menu, and then select Suspend Camel Context.NoteIf Resume Camel Context appears on the context menu, the context is already suspended.
Related topics
Section 18.3, “Shutting down a routing context” |
Section 18.2, “Resuming a routing context” |
18.2. Resuming a routing context
Overview
Procedure
- In the Fuse JMX Navigator tree, expand the project's Camel Contexts node, and select the routing context you want to resume.
- Right-click it to open the context menu, and then select Resume Camel Context.NoteIf Suspend Camel Context appears in the context menu, the context and its routes are running.
Related topics
Section 18.1, “Suspending a routing context” |
18.3. Shutting down a routing context
Overview
Procedure
- In the Fuse JMX Navigator tree, expand the project's Camel Contexts node, and select the routing context you want to shut down.
- Right-click it to open the context menu, and then select Close Camel Context.
Related topics
Section 18.1, “Suspending a routing context” |
Chapter 19. Managing servers
Revision History | ||
---|---|---|
07/24/2012 | EMJ | |
Added section about removing servers |
- Red Hat JBoss Fuse 6.x Server
- Apache Karaf 2.x Server
- Apache ServiceMix 4.x Server
19.1. Adding a Server
Revision History | ||
---|---|---|
07/24/2012 | EMJ | |
Added overview | ||
07/24/2012 | EMJ | |
Corrected procedure |
Overview
/etc/users.properties
file and add user information, in the form of user=password,role
, to enable the developer tools to establish an ssh connection to the server.
Procedure
- From the main menu, select File → New → Other to open the New wizard.
- Select Server → Server from the list.
- Click Next>.
- In the Define a New Server dialog, select the type of server you want to create from the list.
- In Server's host name, accept the default (
localhost
) or enter the name of the host on which the server runs.NoteCurrently the debugger does not support servers running on remote machines. - In Server name, accept the default, or enter a different name for the server.
- If the Server runtime environment drop-down list is present (when
Red Hat JBoss Fuse 6.x
is selected), accept the default or select another runtime environment from the list. - Click Next>.
- If you have not defined a server of this type before, you must do so now in the New ServerType Runtime dialog.
- In Installation directory, enter the full path to the server's installation folder.The button opens a file browser.
- Click Next>.
Host Name defaults to the address of the machine running the server. Forlocalhost
, the address is0.0.0.0
. - In Port Name, accept the default (
8101
), or 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.For a Red Hat JBoss Fuse server, this is a user name that is stored in the installDir
/jboss-fuse-6.0.0.redhat-xxx/etc/users.properties
file.If one has not been set, you can either add one to that file using the formatuser=password,role
(for example,admin=admin,admin
), or you can set one using the karafjaas
command set:jaas:realms
—to list the realmsjaas:manage --index 1
—to edit the first (server) realmjaas:useradd <username> <password>
—to add a user and associated passwordjaas:roleadd <username> admin
—to specify the new user's rolejaas:update
—to update the realm with the new user information
If a jaas realm has already been selected for the server, you can discover the user name by issuing the commandJBossFuse:karaf@root>jaas:users
. - In Password, enter the password associated with the user name that the debugger will use to connect to the server.For a Red Hat JBoss Fuse server, this is the password set either in the installDir
/jboss-fuse-6.0.0.redhat-xxx/etc/users.properties
file or by the karafjaas
comands. - Click Next>.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 Finish.
Related topics
Define a New Server |
New Server Configuration |
Add and Remove |
19.2. Starting a Server
Revision History | ||
---|---|---|
07/24/2012 | EMJ | |
Added overview | ||
07/24/2012 | EMJ | |
Corrected procedure |
Overview
Procedure
- 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.NoteIf you did not properly configure the user name and password for opening the remote console, a dialog opens asking you to enter the proper credentials. See Section 19.1, “Adding a Server”
19.3. Stopping a Server
Revision History | ||
---|---|---|
07/24/2012 | EMJ | |
Added overview | ||
07/24/2012 | EMJ | |
Corrected procedure |
Overview
- from the Server view
- from the server's remote console
Using the server view
- In the Servers view, select the server you want to stop.
- Click .
Using the remote console
- Open the Shell view hosting the server's remote console.
- Type CTRL+D.
19.4. Deleting a Server
Overview
Procedure
- In the Servers panel, select the server you want to delete.
- Select Delete from the server's context menu.
- Click OK.
Part III. Working with Fabrics
Chapter 20. The Fuse Fabric perspective
Figure 20.1. Fuse Fabric perspective
- Fabric Navigator—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 Navigator.
- 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 Navigator.
Fabric Navigator
Diagram view
Log view
Messages view
Properties view
JMX viewer
Chapter 21. Setting up a Fabric Environment
Overview
- 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.
Opening the fabric perspective
Related topics
Chapter 22, Specifying and Connecting to a Fabric |
Chapter 22. Specifying and Connecting to a Fabric
22.1. Adding fabric details
Overview
Procedure
- In Fabric Navigator, right-click Fabrics to open the context menu, and then select Add Fabric details to open the Fabric Details wizard, as shown in Figure 22.1.
Figure 22.1. Fabric Details wizard
- 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 Navigator.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.This is the new user name specified when the fabric was created or is stored in Red Hat JBoss Fuse Plugins for Eclipse's installDir
/etc/users.properties
file. In that file, user information is specified using this format:user=password,role
(for example,admin=admin,admin
).You can also discover the user name by issuing the commandJBossFuse:karaf@root>jaas:users
, if the Jaas realm has been selected for the fabric. - In Password, enter the password required for User name to log into the specified fabric.This is the password specified for the new user name when the fabric was created or is stored in Red Hat JBoss Fuse Plugins for Eclipse's installDir
/etc/users.properties
file. - In Zookeeper Password, enter the password required for logging into the specified fabric's zookeeper registry.This is the password that was specified or generated when the fabric was created, or it is the user's password stored in Red Hat JBoss Fuse Plugins for Eclipse's installDir
/etc/users.properties
file.You can also discover the Zookeeper password by issuing the commandJBossFuse:karaf@root>fabric:ensemble-password
. - Click OK.The fabric's name appears in Fabric Navigator as a node beneath Fabrics.NoteBefore you can view or modify a fabric's containers, profiles or versions, you must connect to the fabric. For details see Section 22.2, “Connecting to a fabric”
Related topics
Section 22.5, “Deleting a fabric's details” |
22.2. Connecting to a fabric
Overview
Procedure
- In Fabric Navigator, select the fabric to which you want to connect, then right-click it to open the context menu.
- Select Connect.An expand arrow ( ) appears next to the fabric you selected in Fabric Navigator.
- 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.
Related topics
Section 22.1, “Adding fabric details” |
22.3. Disconnecting from a fabric
Overview
Procedure
- In Fabric Navigator, select the fabric from which you want to disconnect, then right-click it to open the context menu.
- Select Disconnect.The developer tools close the connection with the selected fabric.
22.4. Editing a fabric's details
Overview
Procedure
- In Fabric Navigator, select the fabric whose details you want to edit, and right-click it to open the context menu.
- Select Edit Fabric details to open the Fabric Details dialog, as shown in Figure 22.1, “Fabric Details wizard”.
- 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.
22.5. Deleting a fabric's details
Overview
Procedure
- In Fabric Navigator, select the fabric whose details you want to delete, then right-click it to open the context menu.
- Select Delete Fabric details.The developer tools close the connection with the selected fabric, and then delete the fabric's details.
Related topics
Section 22.1, “Adding fabric details” |
Chapter 23. Working with Fabric Containers
Revision History | ||
---|---|---|
7/19/12 | EMJ | |
Added section about changing a containers profiles |
23.1. Creating a new child container
Overview
Procedure
- If necessary, in Fabric Navigator, 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 Create a new child container.
Figure 23.1. Create Child Container wizard
- 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.ImportantDo not assign a base profile (one ending in
-base
) to a container. - Click OK.The new child container appears in Fabric Navigator as a node under ContainersNoteSelecting the new container in Fabric Navigator populates its Profiles and Profile Details pages in Properties viewer.
Related topics
Section 24.1, “Creating a new profile” |
Section 25.1, “Creating a new version of a profile” |
23.2. Creating a container on a remote host
Overview
Procedure
- If necessary, in Fabric Navigator, 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 Create a new container via SSH.
Figure 23.2. Create Container via SSH wizard
NoteAn error icon ( ) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected. - 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.ImportantDo not assign a base profile (one ending in
-base
) to a container. - Click OK.The new container appears in Fabric Navigator as a container node under ContainersSelecting the new container in Fabric Navigator populates its Profiles and Profile Details pages in Properties viewer.
Related topics
Section 24.1, “Creating a new profile” |
Section 25.1, “Creating a new version of a profile” |
23.3. Creating a new container on a cloud
Overview
Procedure
- In Fabric Navigator, right-click anywhere, except on Clouds or Fabrics, to open the context menu.
- Select Create a new container on the cloud to open the Create Container in a Cloud wizard.
Figure 23.3. Create Container in a Cloud/Choose the Cloud page
NoteUnless the connection details for a cloud have already been added to the developer tools, 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 Section 26.1, “Adding cloud details”. - Select a cloud from the list, and click Next to open the New Containers Details page.
Figure 23.4. New Containers Details page
NoteAn error icon ( ) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected. - 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.ImportantThe 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.NoteThe developer tools start an instance of the image in the cloud, and then install 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, select 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.ImportantDo not assign a base profile (one ending in
-base
) to a container. - Click OK.The new container appears in Fabric Navigator as a container node under ContainersNoteSelecting the new container in Fabric Navigator populates its Profiles and Profile Details pages in Properties viewer.
Related topics
Section 24.1, “Creating a new profile” |
Section 25.1, “Creating a new version of a profile” |
Section 26.1, “Adding cloud details” |
23.4. Starting a container
Overview
Procedure
- If necessary, in Fabric Navigator, 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 Start Container.NoteTo check whether the developer tools started the container, click Containers in Fabric Navigator, and open the Properties view. You should see something similar to Figure 23.5, where
mycamelExample
was started and provisioned successfully.Figure 23.5. Container status in Properties view
The status indicators in the Status column of the Properties view indicate the startup state of the container, as shown Table 23.1:Table 23.1. Container startup status
Icon Meaning Container stopped Container started; analysis and provisioning in progress Container started and provisioned successfully Failure occurred during startup or provisioning
Related topics
Section 23.6, “Stopping a container” |
23.5. Changing a Container's Profiles
Overview
Procedure
- Select the container.
- In the Properties view, select the Profiles tab.
- Select the profile to be deployed to the container.ImportantYou selection will override the list of profiles currently deployed to the container.NoteYou can select multiple profiles by holding the CTRL key
23.6. Stopping a container
Overview
Procedure
- If necessary, in Fabric Navigator, 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 Stop Container.NoteTo check whether the developer tools stopped the container, click Containers in Fabric Navigator, and open the Properties view. You should see something similar to Figure 23.6, where
myRoute
was stopped successfully.Figure 23.6. Container status in Properties view
For information on the meaning of the status indicators that might appear in the Status column of the Properties view, see Table 23.1, “Container startup status”.
Related topics
Section 23.4, “Starting a container” |
Section 23.7, “Deleting a container” |
23.7. Deleting a container
Overview
Procedure
- If necessary, in Fabric Navigator, 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.
Figure 23.7. Container selected for deletion in Properties view
- In the Destroy Container(s) dialog, click OK to delete the selected container.The developer tools display 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 Navigator, open the fabric's context menu, and click Refresh to update Containers and remove the deleted container from the tree.NoteIf you have the Red Hat JBoss Fuse 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
fabric:container-list
.
Related topics
Section 23.6, “Stopping a container” |
Section 23.1, “Creating a new child container” |
Section 23.2, “Creating a container on a remote host” |
Section 23.3, “Creating a new container on a cloud” |
Chapter 24. Working with Fabric Profiles
24.1. Creating a new profile
Overview
Procedure
- In Fabric Navigator, 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 24.1.
Figure 24.1. Accessing the profiles
- Select the profile on which you want to base the new profile, and right-click it to open the context menu.ImportantBecause 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.NoteNeither configuration files nor properties are visible within the developer tools, but you can view them in the Red Hat JBoss Fabric Management Console. For details, see the Red Hat JBoss Fabric Management documentation.
- Select Create a new Profile.
Figure 24.2. Create Profile dialog
- In Profile name, enter a name for the new profile.Use a name that is descriptive of the new profile's function.
- Click OK to create and save the new profile.The new profile is added to the list of profiles in Fabric Navigator, under its parent profile.
- In Fabric Navigator, 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.
Figure 24.3. Profiles page
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 eachFeatures 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 Fab Deployment Model in the Red Hat JBoss Fuse Deploying into the Container guide.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.NoteThe 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 (highlighted) 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.NoteIn Fuse Integration perspective, you can easily add a Fuse project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Navigator. When you do, the fabric tooling 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.ImportantIf 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 Navigator, select the container to which you want to assign the new profile.The fabric tooling 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.
Related topics
Section 25.1, “Creating a new version of a profile” |
Section 8.3, “Deploying a Project to a Fabric Container” |
24.2. Deleting a profile
Overview
Procedure
- In Fabric Navigator, 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 Delete Profile.
Chapter 25. Working with Versions
25.1. Creating a new version of a profile
Overview
Creating a new version
- In Fabric Navigator, select the fabric in which you want to create a new version.
- Expand the fabric's tree to the level of Versions, shown in Section 24.1, “Creating a new profile”.
- Select a version, and then right-click it to open the context menu.
- Select Create Version.
- 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.ImportantVersion names are important! The developer tools sort 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:
1.3<.description>
. If you abandon the default naming convention and use a textual name instead (for example,Patch051312
), the next version you create will be based, not on the last version (Patch051312
), but on the highest-numbered version determined by dot syntax. - Click OK.The developer tools copy all of the base version's profiles into the new version and display the new version in Fabric Navigator, directly under the base version.
Modifying profiles in the new version
- In Fabric Navigator, expand the newly created version.
- Select a profile that you want to modify.The developer tools populate 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.NoteIn Fuse Integration perspective, you can easily add a Fuse project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Navigator. When you do, the developer tools build the project, run all tests, install the project in the new profile, and upload 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.
Related topics
Section 24.1, “Creating a new profile” |
25.2. Setting a container's version
Overview
Procedure
- In Fabric Navigator, select the container whose profiles you want to change.
- Right-click it to open the context menu, and then select Select Version.The Select Version 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.
Chapter 26. Creating a Fabric in the Cloud
- Have established an account with a cloud provider
- Provide the developer tools 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
26.1. Adding cloud details
Overview
Procedure
- In Fabric Navigator, right-click Clouds to open the context menu, and then select Add Cloud details.
Figure 26.1. Cloud Details wizard
NoteAn error icon ( ) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected. - In Name, enter a name for the cloud.ImportantThe next three fields provide two methods for specifying the provider's information. You select either a provider's name, or you select both an API and its endpoint.
- In Provider name, select the name of the cloud provider from the drop-down list.If you select a provider name, the developer tools autofill Api name and Endpoint with the selected provider's information, so you can skip to Step 6.
- In Api name, select from the drop-down list the name of the API you want to use.This list displays only APIs that have been installed on your local machine or environment.
- In Endpoint, enter the uri of the web service that exposes the API you selected in Step 4.If you have an on-premises, private cloud installed, you need to get this uri from the cloud administrator.
- 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.
Related topics
Section 23.3, “Creating a new container on a cloud” |
26.2. Specifying fabric details
Overview
Procedure
- In Fabric Navigator, right-click Fabrics to open the context menu, and then select Create Fabric in the cloud.
- On the Create Fabric in the cloud wizard's Choose the Cloud page, select the cloud from the list, and then click Next to open the wizard's Fabric Details page.
Figure 26.2. Fabric Details page
NoteAn error icon ( ) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected.You may have to wait a few seconds while the developer tools retrieve 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.ImportantThe 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 Finish.The developer tools create the container, then provision 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 Navigator as a node under Fabrics.NoteIt's a good idea to access your cloud account and verify that the new fabric registry container is up and running.
Related topics
Section 26.1, “Adding cloud details” |
Section 23.3, “Creating a new container on a cloud” |
Appendix A. Wizard field references
Name
New Camel XML File — Creates a new XML file for editing routes with the route editor
Properties
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. |
META-INF
folder:
- Spring—
projectName /src/main/resources/META-INF/spring/
- OSGi Blueprint—
projectName /src/main/resources/META-INF/blueprint/
Related topics
Chapter 3, Creating a New Camel XML file |
Name
New Fuse Project — Creates a new Fuse project
Properties
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. |
Related topics
Chapter 2, Creating a New Fuse Project |
Name
New Fuse Project — Creates a new Fuse project
Properties
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. |
Related topics
Chapter 2, Creating a New Fuse Project |
Name
New Fuse Message — Creates a new message to use in route tracing
Properties
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. |
Related topics
Section 14.1, “Creating test messages for route tracing” |
Name
New Camel JUnit Test Case — Configures the JUnit artifacts created to test a Apache Camel route.
Properties
Table A.5. New 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. |
Related topics
Chapter 5, Creating a new Apache Camel JUnit test case |
Name
Test Endpoints — Lists the endpoints that can be tested by a JUnit test case.
Properties
Table A.6. Test Endpoint properties
Name | Default | Description |
---|---|---|
Available endpoints | all | Specifies the endpoints to test in the Camel JUnit test case. |
Related topics
Chapter 5, Creating a new Apache Camel JUnit test case |
Name
Define a New Server — Defines a new server instance.
Properties
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. |
Related topics
Section 19.1, “Adding a Server” |
Name
New Server Configuration — Configures access details for the server.
Properties
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. |
Related topics
Section 19.1, “Adding a Server” |
Name
Add and Remove — Specifies the resources available to a server.
Properties
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. |
Related topics
Section 19.1, “Adding a Server” |
Name
Fabric Details — Specifies information needed to connect to a fabric.
Properties
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 | Specifies the name of a user that has login privileges. | |
Password | Specifies the password of the specified user. | |
Zookeeper Password | Specifies the password for accessing the fabric registry. |
Name
Create Child Container — Specifies information needed to create a container on the local host.
Properties
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. |
Related topics
Section 23.1, “Creating a new child container” |
Name
Create Container via SSH — Specifies information needed to create a container on a remote host.
Properties
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 | 1 | 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. |
Related topics
Section 23.2, “Creating a container on a remote host” |
Name
Create Container in a Cloud — Specifies information needed to create a container in a cloud.
Properties
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. |
Related topics
Section 23.3, “Creating a new container on a cloud” |
Name
Create Version — Specifies the identifier for the new version of the fabric's profiles.
Properties
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. |
Related topics
Section 25.1, “Creating a new version of a profile” |
Name
Cloud Details — Specifies information needed to connect to a cloud.
Properties
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. | |
Api name | Selects the API to use on the specified cloud. | |
Endpoint | Specifies the cloud endpoint uri. | |
Identity | Specifies 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. |
Related topics
Section 26.1, “Adding cloud details” |
Name
Create Fabric in the Cloud — Specifies information needed to create a fabric in a cloud.
Properties
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. |
Related topics
Section 26.2, “Specifying fabric details” |
Appendix B. Developer Tools preferences
Name
Deploy Folders — Configures the hot deployment folders for the containers into which routes can be deployed.
Properties
Table B.1. Deployment folder properties
Name | Description |
---|---|
Name | Specifies the name the developer tools use to identify the container. |
Deploy Folder | Specifies the full path the container's hot deploy directory. |
Description | Specifies a brief description of the container. |
Name
Editor — Sets the default value for some route editor properties.
Properties
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. |
Related topics
Section 4.10, “Configuring the route editor” |
Name
Fuse JMX Navigator — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties view
Properties
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. |
Name
Tools — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties panel
Properties
Table B.4. Tools Properties
Name | Default | Description |
---|---|---|
Auto detect... | 3000 | Specifies the number of milliseconds the Fuse JMX Navigator scans JVMs on the local host to see if they are still running. |
Memory | 50 | Specifies the maximum number of classes included in the heap histogram displayed on the Memory tab. |
Legal Notice
Trademark Disclaimer
Legal Notice
Third Party Acknowledgements
- JLine (http://jline.sourceforge.net) jline:jline:jar:1.0License: BSD (LICENSE.txt) - Copyright (c) 2002-2006, Marc Prud'hommeaux
mwp1@cornell.edu
All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of JLine nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - Stax2 API (http://woodstox.codehaus.org/StAX2) org.codehaus.woodstox:stax2-api:jar:3.1.1License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)Copyright (c) <YEAR>, <OWNER> All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - jibx-run - JiBX runtime (http://www.jibx.org/main-reactor/jibx-run) org.jibx:jibx-run:bundle:1.2.3License: BSD (http://jibx.sourceforge.net/jibx-license.html) Copyright (c) 2003-2010, Dennis M. Sosnoski.All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of JiBX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - JavaAssist (http://www.jboss.org/javassist) org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compileLicense: MPL (http://www.mozilla.org/MPL/MPL-1.1.html)
- HAPI-OSGI-Base Module (http://hl7api.sourceforge.net/hapi-osgi-base/) ca.uhn.hapi:hapi-osgi-base:bundle:1.2License: Mozilla Public License 1.1 (http://www.mozilla.org/MPL/MPL-1.1.txt)