Chapter 4. Fuse Standalone

4.1. Supported containers

Fuse standalone 7.8 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.8

The main new features of Fuse standalone in version 7.8 are:

Camel Weka component for JBoss EAP

The camel-weka component is now fully supported for JBoss EAP containers (but not for any other container type).

For more information, see the Apache Weka component section of the Apache Camel Component Reference.

Configuration of delivery delay on Camel JMS and Camel AMQP components

The delivery delay option for Camel JMS and Camel AMQP components has been backported to Camel 2.23 (originally, it was implemented for Camel 3.0).

For more information, see the Apache JMS component and Apache AMQP component sections of the Apache Camel Component Reference.

Configuration of Apache Karaf health checks

To avoid the health and readiness check requests being blocked by other long running HTTP processes in the container, the endpoints can be registered into a separate Undertow container.

For more information, see the Enabling Fabric8 Karaf health checks section of the Fuse on OpenShift Guide.

New "-E" option for jasypt:decrypt command

Allows the use of a fixed initialization vector generator for decryption of passwords encrypted with previous versions of Jasypt.

For more information, see the Invoking the jasypt:decrypt command section of the Apache Karaf Security Guide.

Updated Camel SAP component libraries
Updated minor version of SAP client libraries to 3.1 as 3.0 is no longer supported.

4.3. Technology Preview features

The following features of Fuse standalone are Technology Preview only and are not supported in Fuse 7.8:

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.

For Visual Studio Code, you can also add an extension that provides WSDL to Camel Rest DSL support.

Note: These features are already included by default with Fuse Tooling for Red Hat CodeReady Studio.

Visual Studio Code features

Note

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 and SEDA components.
  • You can find references for direct and direct VM components in all open Camel files.

For Properties:

  • Completion for Camel component property
  • Diagnostic

The WSDL 2 Camel Rest DSL extension (wsdl2rest implementation) provides WSDL to Camel Rest DSL support. By specifying an existing WSDL file, you can use this extension to generate a Camel Rest DSL + CXF solution for REST-style access. The WSDL file can be located either on your local file system or from an accessible web URL.

To access the Language Support for Apache Camel and WSDL to Camel Rest DSL 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:

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).

When you use the Eclipse XML or Java editor, only the auto-completion feature is provided.

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.8

To configure your Maven projects to use the supported Fuse 7.8 artifacts, use the BOM versions documented in this section.

4.4.1. BOM File

To upgrade your Fuse standalone applications to use the 7.8 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.8 using the BOM

Container TypeMaven BOM or Plugin Artifact groupId/artifactIdVersion for Fuse 7.8

Spring Boot 2

org.jboss.redhat-fuse/fuse-springboot-bom

7.8.0.fuse-sb2-780038-redhat-00001

org.jboss.redhat-fuse/fabric8-maven-plugin

7.8.0.fuse-sb2-780038-redhat-00001

org.jboss.redhat-fuse/spring-boot-maven-plugin

7.8.0.fuse-sb2-780038-redhat-00001

Apache Karaf

org.jboss.redhat-fuse/fuse-karaf-bom

7.8.0.fuse-sb2-780038-redhat-00001

org.jboss.redhat-fuse/karaf-maven-plugin

7.8.0.fuse-sb2-780038-redhat-00001

JBoss EAP

org.jboss.redhat-fuse/fuse-eap-bom

7.8.0.fuse-sb2-780038-redhat-00001

For more details about using the BOM, see the Migration Guide.

4.5. Important notes

Important notes for the Fuse 7.8 release of the Fuse standalone distribution:

Fuse on EAP is upgraded to use JBoss EAP 7.3.2 (from JBoss EAP 7.2)
The Fuse 7.8 release now runs on the JBoss Enterprise Application Platform (EAP) 7.3.2 container (upgraded from JBoss EAP 7.2 in the previous release of Fuse). For more details, see JBoss EAP 7.3.0 Release Notes.
Camel upgraded from version 2.21 to version 2.23
Fuse 7.8 (on Apache Karaf, JBoss EAP 7.3 and Spring Boot 2.3) now supports Camel 2.23, previously Camel 2.23 was only supported on Spring Boot 2.1.3.
Upgrading Fuse on Karaf

In this release there are a number of upgrades which affect major and minor component versions.

Most OSGi bundles set version ranges that exclude the next major version or sometimes even a minor version, so do not use the Fuse on Apache Karaf patch mechanism to upgrade an Apache Karaf container to Fuse 7.8.

A new installation must be performed, for more details on upgrading to Fuse 7.8 on Karaf, see Fuse Migration Guide.

Red Hat Decision Manager (RHDM) and Red Hat Process Automation Manager (RHPAM) are not compatible with Apache Karaf in this release
The Apache Karaf container provided in Fuse 7.8 is not compatible with RHDM and RHPAM, due to incompatible dependencies. This incompatibility will be fixed in a forthcoming release.
Camel JMX component restriction
As a result of CVE-2020-11971, it is no longer possible to instantiate a JMX Connector instance in the Camel JMX component. It is recommended that you use the default JVM JMX connection instead which does not have this security vulnerability.
Camel Netty4 component restriction
As a result of CVE-2020-11973, serialization of Java objects in the camel-netty4 component is not allowed. The only encoder/decoder allowed is StringEncoder.
Spring Boot support
Spring Boot 1 was deprecated in Fuse 7.7 and has now been removed in Fuse 7.8. Spring Boot 2.3 is now supported.