Tutorials on Apache Camel, Apache Kafka, JBoss Fuse

Search our tutorials

This tutorial will guide you to get started through the Enterprise integration capabilities of Red Hat Fuse. We will cover the installation of Fuse on the top of JBoss EAP

Red Hat Fuse is available in three different flavours:.

  • Red Hat Fuse on OpenShift: allows you to create an application Image as a complete runtime environment deployed and managed through OpenShift.
  • Red Hat Fuse standalone: allows you to distribute your applications using three different frameworks: Fuse standalone on Apache Karaf, JBoss Enterprise Application Platform (EAP), or Spring Boot
  • Red Hat Fuse Online: allows to build low-code, drag-and-drop and visual interface powered applications in a cloud-hosted environment hosted by Red Hat or on your premised cloud.

In this tutorial we will learn how to install Fuse standalone on the top of JBoss EAP.

At the time of writing, the correct versions to download are:

  1. .JBoss EAP 7.2.0
  2. Red Hat Fuse on EAP Installer 7.6.0

Check the supported EAP-Fuse combinations on https://access.redhat.com/articles/310603

1. Start by downloading JBoss EAP from Red Hat Portal: https://access.redhat.com/jbossnetwork/restricted/softwareDetail.html?softwareId=55291&product=appplatform&version=7.2&downloadType=distributions

2.Next, download Red Hat Fuse on EAP (7.6) Installer: https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=jboss.fuse&downloadType=distributions

fuse tutorial jboss eap

Once downloaded the installation packages, unpack JBoss EAP in a folder of your choice, for example under the fuse folder of your home directory:

mkdir ~/jboss/fuse
unzip   ~/Downloads/jboss-eap-7.2.0.zip -d  ~/jboss/fuse

Then place the fuse-eap-installer in the JBOSS_HOME folder, install it with:


cp   ~/Downloads/fuse-eap-installer-7.6.0.jar  ~/jboss/fuse/jboss-eap-7.2.0
cd ~/jboss/fuse/jboss-eap-7.2.0

Now that you have placed the fuse-eap-installer in the JBOSS_HOME folder, install it with:

$ java -jar fuse-eap-installer-7.6.0.jar

The patch procedure will start. At the end, when the procedure completes, you will be logged with:

Installing fuse-patch-distro-wildfly-3.2.0.fuse-760020-redhat-00001.zip
Copy to repository: fuse-patch-distro-wildfly-3.2.0.fuse-760020-redhat-00001.zip
Copy to repository: fuse-eap-distro-7.6.0.fuse-760021-redhat-00001.zip
Run command: java -Djboss.home=. -Dlogging.configuration=file:bin/fusepatch-logging.properties -jar jboss-modules.jar -mp modules org.wildfly.extras.patch --add file:fusepatch/repository/fuse-patch-distro-wildfly-3.2.0.fuse-760020-redhat-00001.zip
Add fuse-patch-distro-wildfly-3.2.0.fuse-760020-redhat-00001
Run command: java -Djboss.home=. -Dlogging.configuration=file:bin/fusepatch-logging.properties -jar jboss-modules.jar -mp modules org.wildfly.extras.patch --add file:fusepatch/repository/fuse-eap-distro-7.6.0.fuse-760021-redhat-00001.zip
Add fuse-eap-distro-7.6.0.fuse-760021-redhat-00001
Run command: java -Djboss.home=. -Dlogging.configuration=file:bin/fusepatch-logging.properties -jar jboss-modules.jar -mp modules org.wildfly.extras.patch --update fuse-patch-distro-wildfly
Install fuse-patch-distro-wildfly-3.2.0.fuse-760020-redhat-00001
Run command: java -Djboss.home=. -Dlogging.configuration=file:bin/fusepatch-logging.properties -jar jboss-modules.jar -mp modules org.wildfly.extras.patch --update fuse-eap-distro
Install fuse-eap-distro-7.6.0.fuse-760021-redhat-00001
Run command: java -Djboss.home=. -jar jboss-modules.jar -mp modules org.wildfly.extras.config --configs camel --enable
Target Version: 7.2.0.GA
Processing config for: camel
	Writing 'layers=fuse' to: ./modules/layers.conf
	Enable camel configuration in: ./standalone/configuration/standalone.xml
	Enable camel configuration in: ./standalone/configuration/standalone-full.xml
	Enable camel configuration in: ./standalone/configuration/standalone-full-ha.xml
	Enable camel configuration in: ./standalone/configuration/standalone-ha.xml
	Enable camel configuration in: ./domain/configuration/domain.xml
Red Hat Fuse Integration Platform - Version 7.6.0.fuse-760021-redhat-00001

What happened to my EAP ?

In practice, the configuration files have been backed-up. New configuration files have been created, including the Camel extension and subsystem:

<extension module="org.wildfly.extension.camel" />

As a proof of concept, uncomment the Camel example route which is in the camel subsystem:

<subsystem xmlns="urn:jboss:domain:camel:1.0">
    
    <camelContext id="system-context-1">
               <![CDATA[
               <route>
                 <from uri="direct:start"/>
                 <transform>
                   <simple>Hello #{body}</simple>
                 </transform>
               </route>
               ]]>
     </camelContext>   
</subsystem>

Now start the application server as usual:

./standalone.sh

You should see at the bottom of your logs:

17:22:29,470 INFO  [org.wildfly.extension.camel] (ServerService Thread Pool -- 85) Add Camel endpoint: http://127.0.0.1:8080/hawtio
17:22:29,479 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 43) WFLYSRV0010: Deployed "hawtio-wildfly-2.0.0.fuse-760023-redhat-00001.war" (runtime-name : "hawtio-wildfly-2.0.0.fuse-760023-redhat-00001.war")
17:22:29,519 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
17:22:29,522 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
17:22:29,522 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
17:22:29,522 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.2.0.GA (WildFly Core 6.0.11.Final-redhat-00001) started in 5519ms - Started 499 of 684 services (326 services are lazy, passive or on-demand)

So JBoss EAP with Fuse has started. Let's try connecting to the hawtio Console application which is deployed as a Web application on JBoss EAP. To access the hawtio console, add first a management user as follows:

./add-user.sh -m -u admin -p password1!

Now log into the hawtio console which is available at http://localhost:8080/hawtio and use the credentials you have just added:

jboss fuse 7 installation tutorial

As you can see, the Camel feature is now activated on the hatwio console:

hawtio jboss fuse 7 tutorial

Great! You just completed the JBoss Fuse 7 installation and activated the hawtio Console. Now continue learning Red Hat Fuse on EAP with this tutorial: Hello World JBoss Fuse 7 application on JBoss EAP

FREE WildFly Application Server - JBoss - Quarkus - Drools Tutorials