Join us on May 14-15, 2019 at Forrester Digital Transformation & Innovation 2019 in Chicago, USA.
This documentation demonstrates how to run Joget in clustering mode with transparent failover, and it is deployed on Red Hat Openshift with JBoss EAP 7. In order to achieve session replication, we externalized HTTP sessions using Red Hat JBoss Data Grid. This allows the sessions of logged in users remain intact while we scale up/down the deployment Joget, or even during the rolling update.
Create MySQL Database
Create a MySQL Database server with these commands:
Create Red Hat JBoss Data Grid
Create a new Red Hat JBoss Data Grid app in your project using this command:
Create Red Hat JBoss EAP 7
Once above app is available, create a Red Hat JBoss EAP 7 with this command:
Add Storage to JBoss EAP
We need a common storage for Joget data folder wflow, hence we will add a storage to the new deployed Red Hat JBoss EAP. Make sure the storage access mode is Read-Write-Many as multiple pods will connect to this volume in clustering environment, and set the Mount Path to /home/jboss/wflow:
Deploy Joget WAR file to Red Hat Openshift
Since deployment-scanner in JBoss EAP is not designed to use a shared deployment folder, therefore we need to create a new build and deploy Joget WAR file to Openshift. To do that, first download and install a copy of Joget locally to obtain the jw.war in the apache-tomcat/webapps directory.
Then run this command:
Once it is done, it should trigger a new deployment. Check the log of new pod and make sure the jw.war is deployed.
Try to log in to Joget via $routePath/jw/setup, where $routePath is the result of the command: oc get routes eap-app. Complete the database setup on Joget using the database credentials used when creating the MySQL instance, then you should able to scale up or down the deployments, and your login session will still be kept during these processes.