Release Notes
What's new in Red Hat Fuse
Abstract
Chapter 1. Fuse 7.1 Product Overview
1.1. Fuse distributions
Fuse 7.1 is provided in the form of three different distributions, as follows:
- Fuse Online
- The distribution of Fuse that is provided pre-installed on the OpenShift Online Professional tier (and also available for installing on an on-premises OpenShift cluster). In this case, application development is facilitated by a browser based UI, and the workflow is simplified to make it accessible to non-expert integrators.
- Fuse on OpenShift
The distribution of Fuse for running integration applications on OpenShift (supported on the Red Hat Enterprise Linux operating system). In this case, the supported container types are provided in the form of docker-formatted container images:
- Java image (for Spring Boot)
- Apache Karaf image
- JBoss EAP image
- Fuse standalone
The classic distribution of Fuse, supported on multiple operating systems. This distribution is supported for the following container types:
- Apache Karaf
- JBoss Enterprise Application Platform (EAP)
- Spring Boot
1.2. New features
Fuse 7.1 includes several major component upgrades and a large selection of new features. For details, consult the new features sections for each of the Fuse distributions:
1.3. Supported Configurations
For information about supported configurations, standards, and components in version 7.1, see the following Customer Portal articles:
Chapter 2. Fuse Online
Fuse Online provides a web browser interface that lets a business expert integrate two or more different applications or services without writing code. It also provides features that allow the addition of code if it is needed for complex use cases.
Fuse Online runs an integration on OpenShift as a Spring Boot application that uses Apache Camel.
2.1. About Fuse Online distributions
Fuse Online is Red Hat’s web-based integration platform. Syndesis is the open source project for Fuse Online. Fuse Online runs in these OpenShift environments:
Host Environment | Installation |
OpenShift Online | Red Hat installs and provisions Fuse Online on Red Hat infrastructure. |
OpenShift Container Platform | Customer installs and manages. |
In the Fuse 7.0 release, Fuse Online running in OpenShift Container Platform was named Ignite. With Fuse 7.1, the product name is Fuse Online regardless of where it runs. The Ignite product name is no longer used.
2.2. Changes and new features in 7.1
The changes and new features in Fuse Online 7.1 are:
New connectors for:
Updates/changes to connectors:
- New Delete Object action is available to an Amazon S3 middle or finish connection.
- Copy Object action now lets you specify the name of the file that you want to download.
- Twitter connector now requires a Twitter developer account for OAuth authorization of Fuse Online as a Twitter client application.
-
In the middle of an integration, a SQL database connection that executes a
SELECT
statement can now obtain more than one record.
Data mapper updates:
- To combine multiple source data fields into one compound target field, you can now select the target field, and then select all the source fields that you want to combine in the target field.
- To separate a compound source field into multiple target fields, you can now select the source field and then select all the target fields that you want to separate the compound field into.
- For a compound data field, you can now identify unwanted or missing parts of the content, and you can drag and drop the parts of a compound field to correctly order them.
- Transformations that convert measurement units now provide From Unit and To Unit drop down menus to select from. For example, after you select the ConvertAreaUnit transformation, the From Unit drop down lets you select Square Meter, Square Mile, or Square Foot.
- When you upload an OpenAPI specification you can now choose to review/edit the specification in Apicurio Studio, which is a visual design tool for APIs that adhere to the OpenAPI specification. You can update the specification, save it, and create an API client connector based on the updated specification.
- When you start running an integration for the first time, Fuse Online now shows the progress of the publication process as it moves through phases for assembling, building, deploying, and starting to reach the Running state.
- Installation of Fuse Online on OpenShift Container Platform now uses OpenShift operators.
- As mentioned earlier, the Ignite product name is no longer used.
2.3. Upgrading existing integrations running on OpenShift Online
Around the time of the Fuse 7.1 GA, the Fuse Online infrastructure on OpenShift Online is automatically upgraded. During the infrastructure upgrade, any existing integrations running on OpenShift Online will continue to run both during and after the upgrade. However, the existing integrations will continue to run with the older versions of Fuse libraries and dependencies.
We recommend that you upgrade the existing integrations as soon as you can, which can be done simply by redeploying the integrations: go into edit mode and publish the integration again. This step forces a rebuild using the latest Fuse dependencies.
The Fuse Online UI shows a warning/info, if any element of an integration has a newer dependency that needs to be updated.
2.4. Important notes
Important notes for the Fuse 7.1 release of the Fuse Online distribution:
- A Fuse Online account is limited to a specific number of integrations that can be running at one time. For details, see the pricing plan. If you are using a Fuse Online evaluation account, then only one integration at a time can be running.
- An OpenAPI specification that you upload to Fuse Online might not define input/output types. When Fuse Online creates a custom API client from an OpenAPI specification that does not specify input/output types then it is not possible to create an integration that maps integration data to fields that the API client can process or from fields that the API client processed. If an integration requires data mapping to or from a custom API, then when you upload the OpenAPI specification, click Review/Edit to open Apicurio Studio, which is an API design tool, and add input/output type specifications.
- Published integrations that connect to Gmail stop executing when their Gmail API access token expires. To enable the integration to execute, re-register your Fuse Online envrionment as a Gmail API client and enter the new client ID and client secret in the Fuse Online Settings page. In the next release, it is expected that Fuse Online will obtain a new access token when needed and you will not need to re-register.
2.5. Obtaining technical support
To obtain technical support, in Fuse Online, in the upper right, click
and then click Support to display the Fuse Online support page. Use this page to download diagnostic information for all integrations or for one or more integrations that you choose. The page provides instructions for opening a support ticket and providing the diagnostic information that you downloaded.
2.6. Technology Preview features
This release includes the Technology Preview features that are listed below.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information, see Red Hat Technology Preview features support scope.
Connectors for:
- IRC - connects to text-based Internet Relay Chat to receive and send messages.
- Log - connects to the log where you can direct messages that are in addition to automatic logging.
- SAP Concur - connects to SAP Concur, an expense management tool, to obtain, update, and create lists, as well as perform other operations.
- Telegram - connects to cloud-based messaging app to receive and send messages.
-
Timer - triggers execution of an integration at an interval that you specify or based on a Unix
cron
expression.
For a REST API client that use OAuth, when you create an API client connector, you can change the default OAuth2 behavior of connections that you create from that connector. Fuse Online vendor extensions to OpenAPI specifications support the following:
- Providing client credentials as parameters.
- Obtaining a new access token based on HTTP response status codes.
Chapter 3. Fuse on OpenShift
Fuse on OpenShift enables you to deploy Fuse applications on OpenShift Container Platform (OCP).
3.1. Supported version of OpenShift
For details of the supported version (or versions) of OpenShift Container Platform to use with Fuse on OpenShift, see the Supported Configurations page.
3.2. Supported images
Fuse on OpenShift provides the following Docker-formatted images:
-
fuse7/fuse-java-openshift
— Spring Boot -
fuse7/fuse-karaf-openshift
— Apache Karaf -
fuse7/fuse-eap-openshift
— Red Hat JBoss Enterprise Application Platform -
fuse7/fuse-console
— Hawtio console
3.3. New features in Fuse 7.1
The main new features of Fuse on OpenShift in version 7.1 are:
- XA transactions with scalable deployments
-
This feature is illustrated by the
spring-boot-camel-xa
quickstart and template, which demonstrates how to run a Camel service on Spring Boot that supports two external transactional resources: a JMS resource (AMQ), and a database (PostgreSQL). - End-to-end encryption for the Fuse Management Console
- The Fuse Management Console now supports end-to-end TLS encryption for communication within the OpenShift cluster, ensuring that communication is encrypted along the entire route from the console.
3.4. Technology Preview features
The following features of Fuse on OpenShift are Technology Preview only and are not supported in Fuse 7.1:
- Prometheus metrics
- If you already have an installation of Grafana and Prometheus, you can use it to monitor Fuse applications deployed on OpenShift.
3.5. Important notes
Important notes for the Fuse 7.1 release of the Fuse on OpenShift distribution:
- OCP 3.10 clusters must use OCP version 3.10.34 or later
- If you are using Fuse on OpenShift with OCP 3.10, you must install OCP 3.10.34 or later to avoid encountering this known issue, Bug 1614493.
- CDK 3.5 is not compatible with Fuse 7.1 on OpenShift
If you are using the Red Hat Container Development Kit (CDK), we recommend that you use CDK 3.6. Version 3.5 of CDK is affected by the following known issues:
- ENTESB-9514 — the default version of OCP used by CDK 3.5 is incompatible with Fuse 7.1 on OpenShift.
- Bug 1614493 — CDK 3.5 uses a version of OCP that is affected by this known issue, which causes builds to get stuck.
- Deploying Maven quickstarts using the Fabric8 Maven plugin
In Fuse 7.1, the Maven quickstarts now require that you select the
openshift
profile when building and deploying. To build and deploy one of the Maven quickstarts, you should now use the command:mvn fabric8:deploy -Popenshift
- Redeploying an application using the Fabric8 Maven plugin
When deploying a Fuse on OpenShift application to OpenShift Container Platform using the Fabric8 Maven plugin, you cannot redeploy the application using just the command
mvn fabric8:deploy
. Use the following sequence of commands instead:mvn fabric8:undeploy mvn fabric8:deploy
- Red Hat Enterprise Linux is the only supported operating system
- All of the provided Fuse on OpenShift images are based on the Red Hat Enterprise Linux O/S.
Chapter 4. Fuse Standalone
4.1. Supported containers
Fuse standalone 7.1 is supported on the following runtime containers:
- Spring Boot (standalone)
- Apache Karaf
- Red Hat JBoss Enterprise Application Platform (JBoss EAP)
4.2. New features in Fuse 7.1
The main new features of Fuse standalone in version 7.1 are:
- Integration with Red Hat Single Sign-On is now fully supported in Fuse 7.1. For details, see Integration with Red Hat Single Sign-On in the Red Hat Fuse 7.1 "Security Guide".
On the JBoss EAP container, JAX-WS (SOAP) endpoints can now be integrated with Elytron security. The following Fuse on EAP quickstarts use Elytron security:
camel-cxf-jaxws-secure camel-cxf-jaxws-cdi-secure
- Fuse Tooling now provides a WSDL to Camel REST DSL wizard, that aids in the process of migrating WSDL (SOAP) based endpoints to a REST implementation. For details, see Migrating a SOAP application to RESTful web services in the Red Hat Fuse 7.0 "Tooling User Guide".
- Fuse Tooling now provides a REST DSL tab, which gives a read-only graphical view of Camel REST DSL endpoints. For details, see Migrating a SOAP application to RESTful web services in the Red Hat Fuse 7.0 "Tooling User Guide".
- The Camel Salesforce component now supports the use of Salesforce Platform Events mechanism.
4.3. BOM files for Fuse 7.1
To configure your Maven projects to use the supported Fuse 7.1 artifacts, use the BOM versions documented in this section.
4.3.1. Old-style BOM
To upgrade your Fuse standalone applications to use the 7.1 dependencies, edit the Maven pom.xml
and change the versions of the BOMs and Maven plugins listed in the following table:
Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.1 |
---|---|---|
Spring Boot |
|
|
|
| |
|
| |
Apache Karaf |
|
|
|
| |
|
| |
JBoss EAP |
|
|
4.3.2. New-style BOM
To upgrade your Fuse standalone applications to use the 7.1 dependencies, edit the Maven pom.xml
and change the versions of the BOMs and Maven plugins listed in the following table:
Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.1 |
---|---|---|
Spring Boot |
|
|
|
| |
|
| |
Apache Karaf |
|
|
|
| |
JBoss EAP |
|
|
For more details about using the new-style BOM, see Migrate Maven Projects in "Migration Guide".
4.4. Important notes
Important notes for the Fuse 7.1 release of the Fuse Standalone distribution:
- Known problem with building the Fuse 7.1 on JBoss EAP quickstarts
The Fuse 7.1 on JBoss EAP quickstarts cannot be built, because they are configured with an incorrect version of the Maven BOM (which is not available from the Red Hat Maven repository). To work around this problem, build the quickstarts with the additional Maven option,
-Dversion.fuse=7.1.0.fuse-710019-redhat-00002
. For example:mvn clean install -Dversion.fuse=7.1.0.fuse-710019-redhat-00002
Chapter 5. Deprecated and Removed Features
If you need any assistance or have any questions about the upcoming changes in Fuse 7, contact support@redhat.com.
5.1. Deprecated
The following features are deprecated in Fuse 7.1 and may be removed in a future release:
- Camel XMLRPC component is deprecated
- The Camel XMLRPC component is deprecated in Fuse 7.1 and will be removed in the next release of Fuse.
- Camel MQTT component is deprecated
- The Camel MQTT component is deprecated in Fuse 7.0 and will be removed in a future release of Fuse. You can use the Camel Paho component instead, which supports the MQTT messaging protocol using the popular Eclipse Paho library.
- Camel Netty component is deprecated
- The Camel Netty component is deprecated in Fuse 7.0 and will be removed in a future release of Fuse. It is recommended that you use the Camel Netty4 component instead.
- Camel LevelDB component is deprecated on all operating systems except for Linux
-
Since Fuse 6.3, the Camel LevelDB (
camel-leveldb
) component is deprecated on all operating systems except for Red Hat Enterprise Linux. In future, the Camel LevelDB component will be supported only on Red Hat Enterprise Linux. - BatchMessage class from the Camel SJMS component is deprecated
- The BatchMessage class from the Camel SJMS component is deprecated in Fuse 7 (deprecated in Apache Camel since version 2.17) and may be removed from a future version of Apache Camel and Fuse.
5.2. Removed in Fuse 7.0
The following features were removed in Fuse 7.0:
- Support for Red Hat JBoss Operations Network (JON) has been removed in 7.0
- Since Fuse 7.0, Fuse on Karaf no longer supports JON and no longer provides JON plugins for integrating with the JON runtime.
- Embedded ActiveMQ broker has been removed in 7.0
- Since Fuse 7.0, Fuse on Karaf no longer provides an embedded ActiveMQ Broker. Customers should connect to a supported remote broker directly. For more information on our supported brokers, refer to the messaging lifecycle.
- Fuse integration pack has been removed in 7.0
- Support for running rules and processes is provided by components shipped with Red Hat JBoss BPM Suite and Red Hat JBoss BRMS.
- Karaf console commands for child container administration have been removed in 7.0
Since Fuse 7.0, the Karaf console commands for child container administration are not supported. That is, the console commands prefixed by
instance:
(Karaf 4.x syntax) and the console commands prefixed byadmin:
(Karaf 2.x syntax) are not supported.NoteIn the Fuse 7.0 GA release, the
instance:
commands are not blacklisted. This is a known issue.- SwitchYard has been removed in 7.0
- Since Fuse 7.0, SwitchYard has been removed, and you should use Apache Camel directly instead. For more detailed information, see the knowledge base article, SwitchYard Support Plan After Releasing Fuse 7.
- Support for Fabric8 1.x has been removed in 7.0
Since Fuse 7.0, Fabric8 v1 has been replaced by Fuse on OpenShift (previously, Fuse Integration Services), which includes components of Fabric8 v2 technology. Fuse on OpenShift provides a set of tools and Docker-formatted images that enable development, deployment, and management of integration microservices within OpenShift.
Although Fuse on OpenShift has a different architecture, it fulfills the same provisioning, automation, central configuration and management requirements that Fabric8 v1 provides. For more information, see Fuse on OpenShift Guide.
- Camel components for Google App Engine have been removed in 7.0
-
The Camel components for Google App Engine (
camel-gae
) have been removed in Fuse 7.0. - Camel jBPM component has been removed in 7.0
-
The Camel jBPM component (
camel-jbpm
) has been removed in Fuse 7.0. - Tanuki based wrapper for installing Fuse as a service has been removed in 7.0
-
The Tanuki based wrapper scripts — generated using the
wrapper:install
Karaf console command — for installing Fuse as a service have been removed in Fuse 7.0. To install the Apache Karaf container as a service, it is recommended that you use the newkaraf-service-*.sh
scripts from thebin/contrib
directory instead. - Smooks has been removed in 7.0
- Since Fuse 7.0, the Smooks component for SwitchYard has been removed.
- BPEL has been removed in 7.0
- BPEL (based on the Riftsaw project) has been removed from Fuse 7.0. If you are currently using BPEL, it is recommended that you consider migrating to the Red Hat JBoss BPM Suite.
- Design Time Governance has been removed in 7.0
- The Design Time Governance component has been removed in 7.0.
- Runtime Governance has been removed in 7.0
- Since Fuse 7.0, the Runtime Governance (RTGov) component has been removed.
- S-RAMP has been removed in 7.0
- The SOA Repository Artifact Model and Protocol (S-RAMP) component has been removed in Fuse 7.0.
- bin/patch script has been removed in 7.0
-
The
bin/patch
script (bin\patch.bat
on Windows O/S) has been removed in a Fuse 7.0. - Spring Dynamic Modules (Spring-DM) is not supported in 7.0
- Spring-DM (which integrates Spring XML with the OSGi service layer in Apache Karaf) is not supported in Fuse 7.0 and you should use the Blueprint framework instead. Using Blueprint XML does not prevent you from using the Java libraries from the Spring framework: the latest version of Spring is compatible with Blueprint.
- Apache OpenJPA is not supported in 7.0
- The Apache OpenJPA implementation of the Java Persistence API (JPA) is not supported in Fuse7.0. It is recommended that you use the Hibernate implementation instead.
5.3. Replaced in Fuse 7.0
The following features were replaced in Fuse 7.0:
- Geronimo transaction manager has been replaced in 7.0
- In Fuse 7.0, the Geronimo transaction manager in the Karaf container has been replaced by Narayana.
- Jetty container has been replaced in 7.0
- In Fuse 7.0, the Jetty container has been replaced by Undertow. Initially, this change applies only to internal use of the Jetty container (for example, in the Karaf container). Other Jetty components might be removed in a future release.
Chapter 6. Unsupported Features in Fuse 7.1
The following features are unsupported in Red Hat Fuse 7.1.
- Apache Karaf EclipseLink feature is unsupported
- The Apache Karaf EclipseLink feature is not supported in Fuse, because this feature depends on JPA 2.2, while the Karaf container for Fuse 7.1 is aligned with JPA 2.1.
- Apache Aries Blueprint Web module is unsupported
- The Apache Aries Blueprint Web module is not supported in Fuse. The presence of an example featuring Blueprint Web in the community edition of Apache Camel (provided as a separate download) does not imply that this feature is supported in Fuse.
- The PHP scripting language is not supported in Apache Camel
- The PHP scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for PHP.
- The Python scripting language is not supported in Apache Camel
- The Python scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for Python.
Chapter 7. Known Issues
The following subsections describe the known issues in version 7.1.
7.1. CVE Security Vulnerabilities
As a middleware integration platform, Fuse can potentially be integrated with a large number of third-party components. It is not always possible to exclude the possibility that some third-party dependencies of Fuse could have security vulnerabilities. This section documents known security vulnerabilities affecting third-party dependencies of Fuse 7.1.
- ENTESB-12489 CVE-2019-9827 - Fuse Console standalone on Amazon Web Services
-
Due to security concerns, you should not deploy a standalone Fuse application to Amazon Web Services (AWS). This restriction applies to all supported standalone environments (Spring Boot 1.x and 2.x, Karaf, and Red Hat JBoss Enterprise Application Platform). If you want to deploy the Fuse Console standalone on AWS, it is highly recommended that you upgrade to Fuse 7.7 or later and disable the Fuse Console’s proxy servlet by setting the
hawtio.disableProxy
system property totrue
. - CVE-2017-12629 Solr/Lucene -security bypass to access sensitive data - CVE-2017-12629
Apache Solr is a popular open source search platform that uses the Apache Lucene search engine. If your application uses a combination of Apache Solr with Apache Lucene (for example, when using the Camel Solr component), it could be affected by this security vulnerability. Please consult the linked security advisory for more details of this vulnerability and the mitigation steps to take.
NoteThe Fuse runtime does not use Apache Solr or Apache Lucene directly. The security risk only arises, if you are using Apache Solr and Apache Lucene together in the context of an integration application (for example, when using the Camel Solr component).
- Multiple CVEs Multiple CVEs related to jackson-databind security vulnerability
Applications that that use the FasterXML
jackson-databind
library to instantiate Java objects by deserializing JSON content are potentially vulnerable to a remote code execution attack. The vulnerability is not automatic, however, and it can be avoided if you take the appropriate mitigation steps.At a minimum, the following prerequisites must all be satisfied before an attack becomes possible:
You have enabled polymorphic type handling for deserialization of JSON content in
jackson-databind
. There are two alternative ways of enabling polymorphic type handling in Jackson JSON:-
Using a combination of the
@JsonTypeInfo
and@JsonSubTypes
annotations. -
By calling the
ObjectMapper.enableDefaultTyping()
method. This option is particularly dangerous, as it effectively enables polymorphic typing globally.
-
Using a combination of the
-
There are one or more gadget classes in your Java classpath, which have not yet been blacklisted by the current version of
jackson-databind
. A gadget class is defined as any class that performs a sensitive (potentially exploitable) operation as a side effect of executing a constructor or a setter method (which are the methods that can be called during a deserialization). The gadget blacklist maintained by the Jackson JSON library is the last line of defence against the remote code execution vulnerability.
It is the existence of a large number of gadget classes which explains why there are many individual CVEs related to the
jackson-databind
vulnerability. There are different CVEs related to different kinds of gadget class.If you do need to use the
jackson-databind
library in your application, the most important measure you can take to mitigate the risk is this: avoid polymorphic type handling in Jackson JSON and on no account should you call theObjectMapper.enableDefaultTyping()
method.
7.2. Fuse Online
The Fuse Online distribution has the following known issues:
- 1558 "Save as draft" and "Publish" buttons
- Both the Save as draft button and the Publish button remain active, even after a user has clicked on one of the buttons and started stepping through the procedure.
- 2163 Integration Editor: Save as Draft should display notification on success
- After pressing the Save as Draft button, there is no success notification when the draft is saved successfully (in the event of an error, on the other hand, there is an error notification).
- 698 DB Connector: SQL parser doesn’t recognize parameters for LIKE
-
In SQL statements containing the
LIKE
keyword (for example,DELETE FROM TODO WHERE task LIKE ‘:#param’
), theLIKE
keyword cannot be used with datamapper parameters, such as:#param
.
7.3. Fuse on OpenShift
This section lists issues that affect the deployment of Fuse applications on OpenShift. For details of issues affecting specific containers, see also the sections for Spring Boot, Fuse on Apache Karaf, and Fuse on JBoss EAP. The Fuse on OpenShift distribution has the following known issues:
- Bug 1614493 [3.10] Binary builds with 'large' input hangs and never completes
- When attempting to build and deploy Fuse applications on some early micro versions of OpenShift Container Platform (OCP) 3.10, it is possible that the build will hang with this error. If you encounter this problem, we recommend that you upgrade to OCP 3.10.34 (or later), where this problem is fixed.
- ENTESB-9514 CDK (minishift) + quickstart with binary build doesn’t work
- Red Hat Container Development Kit (CDK) 3.5 uses a version of OpenShift that has some incompatibilities with Fuse 7.1 on OpenShift (in particular, build and deployment of Fuse on OpenShift quickstarts does not work). We recommend that you use CDK 3.6 instead.
7.4. Fuse on on Apache Karaf
Fuse on Apache Karaf has the following known issues:
- ENTESB-8085 rxjava-1.3.5.redhat-001 is not an osgi bundle, but rxjava-1.3.5 is
-
In the Fuse 7.0 GA release, the
camel-hystrix
andcamel-rx
features cannot be installed. - ENTESB-8140 Start level of hot deploy bundles is 80 by default
In the Fuse 7.0 GA release, in the Apache Karaf container the start level of hot deployed bundles is 80 by default. This can cause problems for the hot deployed bundles, because there are many system bundles and features that have the same start level. To work around this problem and ensure that hot deployed bundles start reliably, edit the
etc/org.apache.felix.fileinstall-deploy.cfg
file and change thefelix.fileinstall.start.level
setting as follows:felix.fileinstall.start.level = 90
- ENTESB-7664 Installing framework-security feature kills karaf
The
framework-security
OSGi feature must be installed using the--no-auto-refresh
option, otherwise this feature will shut down the Apache Karaf container. For example:feature:install -v --no-auto-refresh framework-security
7.5. Fuse on on JBoss EAP
Fuse on JBoss EAP has the following known issues:
- ENTESB-9533 Fuse 7.1 on EAP doesn’t contain productized quickstarts
The Fuse 7.1 on JBoss EAP quickstarts cannot be built, because they are configured with an incorrect version of the Maven BOM (which is not available from the Red Hat Maven repository). To work around this problem, build the quickstarts with the additional Maven option,
-Dversion.fuse=7.1.0.fuse-710019-redhat-00002
. For example:mvn clean install -Dversion.fuse=7.1.0.fuse-710019-redhat-00002
7.6. Apache Camel
Apache Camel has the following known issues:
- ENTESB-9452 Salesforce on-create,on-update not triggered
A regression was introduced in the Salesforce Camel component, whereby a Salesforce consumer processes exchanges synchronously instead of asynchronously. So if a single Camel route uses the same Salesforce component instance in a consumer endpoint and a producer endpoint, it ends up deadlocked on the HTTP connection in the producer endpoint.
For example, the route below (whether it uses
enrich
orto
for the producer endpoint) will deadlock in thegetSObject
endpoint:from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead") .enrich("salesforce:getSObject?rawPayload=true&sObjectName=Lead") .convertBodyTo(String.class) .to("log:sf?showAll=true&multiline=true");
One workaround is to use a
wireTap
endpoint like this:from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead") .wireTap("salesforce:getSObject?rawPayload=true&sObjectName=Lead") .convertBodyTo(String.class) .to("log:sf?showAll=true&multiline=true");
Another workaround is to break up the Camel route using SEDA endpoints like this:
from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead") .to("seda:sfenrich"); from("seda:sfenrich") .enrich("salesforce:getSObject?rawPayload=true&sObjectName=Lead") .convertBodyTo(String.class) .to("log:sf?showAll=true&multiline=true");
This issue will be fixed in the next Fuse release.
- ENTESB-8088 camel-linkedin: java.lang.SecurityException: Invalid CSRF code
-
In the Fuse 7.0 GA release, the Camel LinkedIn component does not work. The
camel-linkedin
quickstart is also not working. - ENTESB-7469 Camel Docker component cannot use Unix socket connections on EAP
-
In Fuse 7.0, the
camel-docker
component can connect to Docker only through its REST API, not through UNIX sockets. - ENTESB-5231 PHP script language does not work
- The PHP scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for PHP.
- ENTESB-5232 Python language does not work
- The Python scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for Python.
- ENTESB-2443 Google Mail API - Sending of messages and drafts is not synchronous
- When you send a message or draft, the response contains a Message object with an ID. It may not be possible to immediately get this message via another call to the API. You may have to wait and retry the call.
- ENTESB-2458 Google Mail Component - Import of message throws sometimes SocketTimeoutException
-
Importing a message may throw a
java.net.SocketTimeoutException
if the send operation was called before. Workaround: After a send call wait for few moments before calling import. - ENTESB-2365 Google Drive API bug - Response of permission insert operation mostly does not contain emailAddress property
-
Response of permission insert operation sometimes does not return
emailAddress
property even if the value of request property type was set to user. Nevertheless the permission is successfully inserted. - ENTESB-2332 Google Drive API JSON response for changes returns bad count of items for the first page
- Google Drive API JSON reponse for changes returns bad count of items for the first page. Setting maxResults for a list operation may not return all the results in the first page. You may have to go through several pages to get the complete list (that is by setting pageToken on new requests).
Chapter 8. Issues Resolved in Fuse 7.1
The following sections list the issues that have been resolved in Fuse 7.1:
8.1. Enhancements in Fuse 7.1
The following table lists the enhancements in Fuse 7.1.
Issue | Description |
---|---|
Need a flag using which Master component status can be known standby or active. | |
event-driven salesforce updates | |
camel-blueprint quickstart dependency can be set to provided scope | |
Enhance the Fuse / KeyCloak integration for CXF / Camel | |
New API for authentication needed on Pax-Web | |
Hawtio should be aware of "blacklisted" and "overriden" properties of Karaf features and bundles | |
Support for higher version of PostgreSQL | |
Add favicon to Fuse console | |
Use TLS re-encryt instead of edge termination in Fuse console route | |
Set browser tab title from branding app name in Fuse console | |
Please add camel-salesforce-maven-plugin to product BOM | |
hawtio: problem with current Framework Start Level value under 70 | |
Add wildfly-camel-testenricher to wildfly-camel BOM | |
Add SAP Quickstart demonstrating failover and load balancing | |
Support 100-Continue in Undertow transport out-of-the-box | |
Fuse console templates should have distinct names | |
Hawtio v2: Review Connect Remote instructions text | |
Use 4.0.0.Final instead of 4.0.0.Final-SNAPSHOT | |
Quickstart tests should fail when it’s not properly configured | |
Provide README.md for each security quickstart | |
Change hard coded secrets to defaults |
8.2. Feature requests in Fuse 7.1
The following table lists the features requests in Fuse 7.1.
Issue | Description |
---|---|
CRUD operations for CouchDB | |
Update sap-quickstarts after Fuse 7.0.0 GA | |
Add support for fuse-components camel-sap component on Karaf | |
Add some report about progress after bundle:restart |
8.3. Bugs resolved in Fuse 7.1
The following table lists the resolved bugs in Fuse 7.1.
Issue | Description |
---|---|
JPAMessageIdRepository Not Releasing Connections | |
Feature repository with drools7-dependencies feature is missing | |
Unable to install camel-linkedin | |
Solaris11 sparc: stop,client,status,karaf print awk: can’t open /version/ {print $2} | |
CVE-2018-1000130 jolokia-core: jolokia: JMX proxy mode vulnerable to remote code execution [fuse-6.3.0] | |
CVE-2018-1000129 jolokia-core: jolokia: Cross site scripting in the HTTP servlet [fuse-6] | |
Unable to connect pooled connectionFactory with camel-sjms and camel-sjms2 | |
CVE-2018-1272 spring-web: spring-framework: Multipart content pollution [fuse-7.0.0] | |
Support securing Fuse CXF endpoints with Elytron | |
Hawtio: direct url passes to the hawtio page without authentication | |
HAWTIO:OSGI:FEATURES Can press many install buttons at the same time, but not every features will be installed | |
Hawtio: unfiltered bundles table in OSGi tab after the bundle operation is processed | |
Rest DSL with Jetty9 components returns 404 instead of 405, when http method is not supported | |
Hawtio: bundles are selected in a random way in a filtered table | |
Hawtio: wrong states and wrong buttons enabled in OSGi tab | |
Rest DSL with Netty4-http components returns 404 instead of 405, when http method is not supported | |
echo "\"string" ends up with Error executing command: unexpected EOT looking for matching quote: " and shutdown of karaf | |
Hawtio: unable to view a chart of all attributes in endpoints in log-example-context | |
Hawtio: checkbox does not work properly after actions in Camel Contexts table in Camel tab | |
CVE-2018-1271 spring: spring-framework: Directory traversal vulnerability with static resources on Windows filesystems [fuse-7.0.0] | |
CVE-2018-1339 camel-tika: tika: Infinite loop in ChmParser can allow remote attacker to cause a denial of service [fuse-7.0.0] | |
CVE-2018-1338 camel-tika: tika: Infinite loop in BPGParser can allow remote attacker to cause a denial of service [fuse-7.0.0] | |
CVE-2018-1114 undertow: File descriptor leak caused by JarURLConnection.getLastModified() allows attacker to cause a denial of service [fuse-7.0.0] | |
HAWTIO:CONNECT:DISCOVER page shows only "No agents discovered". | |
Unable to install camel-spring-redis | |
Hawtio: wrong tab name after navigation to OSGi from the Configuration detail page | |
Fuse 7 can’t be started on HP-UX | |
Hawtio: wrong URL of feature dependencies in OSGi Features | |
Hawtio: no success message after operations with bundles in OSGi | |
Hawtio: empty Profile in OSGi Configuration | |
HAWTIO:OSGI: Bundles when you refresh Jackson-annotations bundle, some of Jackson bundles will change status to resolved. | |
Hawtio: strange behavior of Attributes in Camel | |
CVE-2016-5397 camel: thrift: Improper file path sanitization in t_go_generator.cc:format_go_output() of the go client library can allow an attacker to inject commands [fuse-7.0.0] | |
Problem while using WSS4JOutInterceptor | |
EAP:HAWTIO:Login In case you will go to some path without login you will get hawtio with only Connect tab. | |
Hawtio: Camel Contexts - no success message after the action is done | |
Hawtio: refresh the Bundle detail page leads to lose the data | |
Hawtio: undefined property in Camel route debugging | |
HAWTIO:CAMEL: In cbr-example-context there is confusing charts visibility of Mbeans folders.. | |
HAWTIO:HELP: JMX link redirects you to hawtio. | |
HAWTIO:PREFERENCES:CAMEL tab will disappear after restart preferences. | |
HAWTIO:CAMEL Delete button on contexts and routes seems like do nothing. | |
HAWTIO:OSGI:FEATURES cxf-xjc-runtime/3.1.11.fuse-000243-redhat-1 feature cannot be uninstalled. | |
HAWTIO:OSGI:FEATURES Cannot install application-without-isolation/1.0.0 | |
HAWTIO:OSGI:FEATURES: If you add existed repository you will get succes message. | |
HAWTIO:CAMEL You can see start/stop and start/suspend buttons as a viewer. | |
Wrong uninstall instructions in camel-jms quickstart | |
NullPointerException in Æsh | |
Hawtio-related errors in log when running Fuse on Aix 7.2 | |
Typo in camel-azure-starter spring.factories | |
Swapped parameters in HttpServiceProxy.registerConstraintMapping | |
HAWTIO:OSGI:Bundles: When you try to stop some bundle using filter, you will stop another bundle on the same position on table without filter. | |
camel:run failed to run in 6.3 | |
Unify jetty version on Karaf and spring-boot | |
Hawtio - Deleting all camel contexts leaves the UI in an unclean state | |
Backport CAMEL-12514 | |
Æsh keys broken with bin/client | |
iPaaS - Support Page - source is not added to the export operation | |
iPaaS - Support Page - risk of name clashes | |
Some quickstarts are again using http instead of https for osgi xsd location | |
Karaf feature 'connector' fails to install | |
[camel-weather] Use geolocator with longer support | |
NullPointerException in camel-cmis when using wrong credentials | |
[camel-jt400] java.lang.NoClassDefFoundError: javax/crypto/SecretKey | |
[camel-twilio] java.lang.ClassNotFoundException: org.apache.http.ProtocolVersion | |
maven-bundle-plugin fails to parse meta-persistence | |
Unresolved TODOs in README.md files | |
NullPointerException in Æsh - with "]" | |
Console unusable in docker | |
spring-boot-cxf-jaxrs - workaround for OSFUSE-836 doesn’t work | |
[OSO] FIS karaf templates memory limit unnecessarily big (2 GiB) | |
Repackaged Fuse spring-boot-maven-plugin is not recognized by fabric8-maven-plugin | |
karaf-camel-amq-template has wrong description | |
Karaf image is using wrong version for KARAF_FRAMEWORK_VERSION | |
karaf-camel-amq - wrong service amqp name | |
Quickstart spring-boot-camel-rest-sql is missing | |
spring-boot-cxf (jaxrs, jaxws) - ClassNotFoundException | |
CVE-2018-8088 slf4j: Deserialisation vulnerability in EventData constructor can allow for arbitrary code execution [fis-2.0] | |
Align documented repositories with quickstart’s repositories | |
spring-boot-camel-{config,drools,teiid}-template contains non-existing url | |
CVE-2018-1114 undertow: File descriptor leak caused by JarURLConnection.getLastModified() allows attacker to cause a denial of service [fis-2.0] | |
karaf-camel-amq - missing log output in Openshift log | |
Reflect changes in installation of EnMasse in karaf-camel-amq quickstart | |
FMP: Imagestream creation doesn’t work for java project | |
Add ImageStreamTag triggers to StatefulSets in fabric8-maven-plugin | |
Migrate FIS quickstarts from F8 Arquillian plugin to Arquillian Cube | |
[templates] k8s resource limits (same as archetypes) | |
Backport changes from f-m-p 3.5.39 into product branch | |
Spring-Boot - Narayana: check that resource managers have no pending transactions before scaling down | |
Camel-CXF POJO dataformat with WS-Security does not work if operation has Holder type in parameter list | |
camel-box - Camel Context XML contains an error | |
JLine may be used instead of AEsh when reinstalling features | |
[Fuse 7] Undertow unable to externalize strings containing password | |
Weird behavior when ending a command with ", { or \ and hitting enter | |
CVE-2018-1000180 bouncycastle: flaw in the low-level interface to RSA key pair generator [fuse-7.0.0] | |
CVE-2016-1000338 bouncycastle: DSA does not fully validate ASN.1 encoding during signature verification allowing for injection of unsigned data [fuse-7.0.0] | |
CVE-2016-1000344 bouncycastle: DHIES implementation allowed the use of ECB mode [fuse-7.0.0] | |
CVE-2016-1000345 bouncycastle: DHIES/ECIES CBC modes are vulnerable to padding oracle attack [fuse-7.0.0] | |
CVE-2016-1000346 bouncycastle: Other party DH public keys are not fully validated [fuse-7.0.0] | |
CVE-2016-1000352 bouncycastle: ECIES implementation allowed the use of ECB mode [fuse-7.0.0] | |
CVE-2016-1000340 bouncycastle: Carry propagation bug in math.raw.Nat??? class [fuse-7.0.0] | |
CVE-2016-1000339 bouncycastle: Information leak in AESFastEngine class [fuse-7.0.0] | |
CVE-2016-1000341 bouncycastle: Information exposure in DSA signature generation via timing attack [fuse-7.0.0] | |
CVE-2016-1000342 bouncycastle: ECDSA improper validation of ASN.1 encoding of signature [fuse-7.0.0] | |
CVE-2016-1000343 bouncycastle: DSA key pair generator generates a weak private key by default [fuse-7.0.0] | |
Wrong env variables in karaf-camel-amq template | |
Hawtio: Diagnostics pages are visible when access is forbidden | |
Karaf addRepository JMX operation allows blacklisted feature repo to be installed | |
Hawtio: Camel trace page does not unregister Jolokia requests | |
Please remove artifacts that shouldn’t be in Fuse BOM | |
[cxf] JMS transport does not clean up resources properly in case of an JMSException | |
Hawtio:logs: IllegalArgumentException when you refresh logs page | |
Hawtio:Runtime: Waited and Blocked time are empty in Threads tab | |
Camel-SAP endpoint not recovering from a data exception | |
Hawtio:Runtime: non-functional sorting in Native column of Threads tab | |
Hawtio:OSGi:Framework: no error message while setting empty Bundle Start Level | |
[came-twilio] password/username/accountSid endpoint parameters does not work | |
Camel file endpoint loses modification date with preMove attribute | |
Last build of Fuse has version Hawtio Integration 3.2.30, but bugs are resolved in Hawtio Integration 3.2.31 | |
Unable to add feature repository | |
Hawtio:Bundles: start button seems like do nothing | |
Hawtio:Features: After Uninstall operation of aries-blueprint/4.2.0.fuse-000271 feature button is still enable. | |
Upgrade Xerces from 2.11 to 2.12 | |
Hawtio: Installation of some features disconnects the Hawtio console | |
Hawtio:OSGi:Bundles: undetermined state of bundles after refreshing | |
Hawtio:osgi:features: When I install or uninstall application-without-isolation/1.0.0, the button that was clicked doesn’t get disabled | |
Hawtio: wrong states and wrong buttons enabled in OSGi tab | |
Bundles: Problem with specific version filter | |
camel websocket - java.lang.ClassCastException: org.eclipse.jetty.util.DecoratedObjectFactory | |
Karaf - Warning - failed to parse and instantiate of javax.servlet.ServletContainerInitializer in classpath | |
camel-weather does not work | |
HTTP Connector method not honored | |
Hawtio:Connection: dialog for adding connection is changing the title and text of button | |
karaf-camel-amq - Unknown configuration type: undertow | |
NPE in CamelDeploymentSettings when deploying an EAR with two WARs | |
External transitive xalan dependency in SpringBoot application leads to exception: Can’t transform a Source of type javax.xml.transform.stax.StAXSource | |
Camel Weather - deprecated endpoint | |
[CAMEL-10103] Camel FTP - Unknown parser type | |
Hawtio: duplication of Logs menu item | |
Use correct versions of quickstarts | |
Hawtio:Osgi:Configuration: When you try change error color value of org.apache.karaf.log configuration and click cancel the value will change to some hardcoded value. | |
Hawtio:Camel: Profiles table has bad sorting on Total and Self columns | |
GracePeriod after installing beginner quickstart | |
Quickstart camel-xa is missing persistence.xml | |
Cannot generate schema by hibernate for Oracle and DB2 database | |
Hawtio:Camel: fatal error logs in terminal after sending empty message | |
Port secure CXF examples to Elytron | |
Let WildFlyCli.run(URL, String…) forward the additional args to WildFlyCli.run(Path, String…) | |
Fuse on EAP doesn’t start when Java Security Manager is enabled | |
Unable to install camel-linkedin with redhat-3, but it is working with redhat-1 | |
Unable to install camel-thrift with redhat-3, but it is working with redhat-1 | |
Fix patching mechanism to handle feature removals | |
InterceptStrategy in camel 2.21.0 version of Fabric BOM 3.0.11.fuse-000039-redhat-1 does not print details of all endpoints | |
MRRC contains some redhat artifacts without sources | |
PAX-WEB HttpContextProcessing leaking after installing keycloak-pax-web-undertow fragment bundle | |
CVE-2018-8036 pdfbox: Infinite loop in AFMParser.java allows for out of memory erros via crafted PDF [fuse-7.0.0] | |
Desynchronized version of spring core in Fabric8 | |
cxf-spring-boot-starter-jaxws generates java.lang.NoClassDefFoundError | |
Unable to install eclipselink | |
karaf - Unable to build assembly | |
Can not find 7.0.1.fuse-000011-redhat-2 in maven.repository.redhat.com | |
spring-boot-camel-xa template points to wrong git tag | |
[prod] fuse-console:1.1-1 restarting | |
[prod] archetypes dont' contain productized boms | |
IllegalStateException on undeploy of Camel CXF applications | |
fuse70 vs fuse71 naming | |
images 7.0 vs 7.1 | |
Disable save button in framework tab for 'viewer' users | |
DeploymentConfigs in upgrade image refer to 1.3 image stream tags | |
Syndesis operator image should reference syndesis version "1.1" in its template | |
[CR2] Needed changed in operator and upgrade images | |
[CR2] application-templates: eap tags are not productized | |
[CR2] Instantiate of archetype karaf-cxf-rest-archetype (Property cxf-plugin-version is missing) |