Chapter 4. Fuse Standalone
4.1. Supported containers
Fuse standalone 7.11 is supported on the following runtime containers:
- Spring Boot 2 (standalone)
- Apache Karaf
- Red Hat JBoss Enterprise Application Platform (JBoss EAP)
4.2. New features in Fuse 7.11
The main new features of Fuse standalone in version 7.11 are:
- Java 11 is supported for Apache Karaf
- Java 11 is now supported on the Apache Karaf runtime.
4.3. Technology Preview features
The following features of Fuse standalone are Technology Preview only and are not supported in Fuse 7.11:
- Saga EIP
- The Saga Enterprise Integration Pattern (EIP) is a technology preview feature and features only the In-Memory Saga service (which is not suitable for a production environments). The LRA Saga service is not supported. For more details, see section Saga EIP of the "Apache Camel Development Guide".
4.3.1. Fuse Tooling support for Apache Camel
Fuse Tooling provides a cross-platform, cross-IDE approach to Camel application development, with Apache Camel language support extensions or plugins for Visual Studio Code, Eclipse IDE, and Eclipse Che.
Visual Studio Code features
VS Code Apache Camel extensions are community features. They are not supported by Red Hat.
The Language Support for Apache Camel extension provides features for Camel URIs, such as the following:
For XML DSL and Java DSL:
- You can navigate to endpoints in the VS Code Outline panel and in the Go > Go to Symbol in File navigation panel.
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
- As you edit the file, the editor performs an Apache Camel validation check on the Camel code.
- You can specify a specific Camel Catalog version by selecting File → Preferences → Settings → Apache Camel Tooling → Camel catalog version.
- You can use "Quick fix" features to address invalid enum values and unknown Camel URI component properties.
For XML DSL only:
- You can navigate to Camel contexts and routes in the VS Code Outline panel and in the Go > Go to Symbol in File navigation panel.
-
When you type, the editor provides code completion for referenced IDs of
direct
,direct VM
,VM
andSEDA
components. -
You can find references for
direct
anddirect VM
components in all open Camel files.
For Properties:
- Completion for Camel component property
- Diagnostic
To access the Language Support for Apache Camel features, you add one or more extensions.
The Apache Camel Extension Pack installs the following VS Code extensions:
Optionally, you can install the extensions individually.
For more details, see the following readme files:
- Readme for Apache Camel Extension Pack
- Readme for Apache Camel Language Server Protocol for Visual Studio Code
- Readme for AtlasMap Data Transformation editor
Eclipse IDE features
The Language Support for Apache Camel Eclipse plug-in provides the following features for Camel URIs:
In the generic Eclipse text editor for both XML DSL and Java DSL:
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
To access the Language Support for Apache Camel features, you install the Eclipse plug-in from the Eclipse Marketplace. For more details, see the readme file for Apache Camel Language Server Protocol for Eclipse IDE.
Eclipse Che features
The Language Support for Apache Camel plugin for Eclipse Che 7 provides features for Camel URIs in XML DSL and Java DSL.
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
- When you save the file, the editor performs an Apache Camel validation check on the Camel code.
To activate this plugin for Eclipse Che, you can use the "Apache Camel based on Spring Boot" stack or edit your workspace configuration.
4.4. BOM files for Fuse 7.11 and Fuse 7.11.1
To configure your Maven projects to use the supported Fuse 7.11 or 7.11.1 artifacts, use the BOM versions documented in this section.
4.4.1. BOM File for Fuse 7.11.1
To upgrade your Fuse standalone applications to use the 7.11.1 dependencies, edit the Maven pom.xml
and change the versions of the BOMs and Maven plugins listed in the following table:
Table 4.1. Maven BOM and plugin versions for 7.11.1 using the BOM
Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.11.1 |
---|---|---|
Spring Boot 2 |
|
|
|
| |
Apache Karaf |
|
|
|
| |
JBoss EAP |
|
|
For more details about using the BOM, see the Migration Guide.
4.4.2. BOM File for Fuse 7.11
To upgrade your Fuse standalone applications to use the 7.11 dependencies, edit the Maven pom.xml
and change the versions of the BOMs and Maven plugins listed in the following table:
Table 4.2. Maven BOM and plugin versions for 7.11 using the BOM
Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.11 |
---|---|---|
Spring Boot 2 |
|
|
|
| |
Apache Karaf |
|
|
|
| |
JBoss EAP |
|
|
For more details about using the BOM, see the Migration Guide.
4.5. Important notes
Important notes for the Fuse 7.11 release of the Fuse standalone distribution:
- Java 11 is supported for Apache Karaf
- The Fuse 7.11 release supports Java 11 on the Apache Karaf runtime.
- Support for Karaf runtimes and JBoss EAP is deprecated
- Support for Karaf runtimes and JBoss EAP is deprecated as Fuse 7 will move out of support with the release of Fuse 7.11.
- Creating a connection to MongoDB using the MongoClients factory
From Fuse 7.10 and later versions, use
com.mongodb.client.MongoClient
instead ofcom.mongodb.MongoClient
to create a connection to MongoDB (note the extra .client sub-package in the full path).This affects any user applications that use
camel-mongodb
, which will now need to create a connection bean as acom.mongodb.client.MongoClient
instance. Moreover, the methods exposed by this class are not exactly the same as the old class which could require more refactoring of user code.For example, create a connection to MongoDB as follows:
import com.mongodb.client.MongoClient;
You can then create the MongoClient bean as shown in following example:
return MongoClients.create("mongodb://admin:password@192.168.99.102:32553");