IBM Support

Deploying the RMI registry in a Maximo Clustered Environment

Technical Blog Post


Abstract

Deploying the RMI registry in a Maximo Clustered Environment

Body

Many of you are familiar with the recommendation to deploy the RMI registry file, rmireg.war, and probably seen these two great tech notes:

Understanding the Maximo Implementation of Java Remote Method Invocation (RMI)

Deploying the RMI Registry (rmireg.war) in WebSphere 7.0, 8.0. 8.5.5 and 9.0.x

This document looks at elaborating on the fundamental concepts explored in the tech notes and explores how we can achieve the deployment of the RMI in a WebSphere clustered environment.


First, let's clarify some common questions with RMI setup.

1. Why do we need to deploy a separate RMI registry file for a clustered environment?

Simply, for availability. It creates the registry independent of any other Maximo JVMs in the cluster and continues to run even if another server in the cluster fails. If a JVM is shut down or recycled, the RMI communication is not lost.

2. How many RMIreg.war files do we need to build and where do they need to be deployed?

You need the RMI registry file rmireg.war deployed in a separate JVM for each physical WebSphere server where your Maximo Clusters are running. For example:  

image


Let's now look at how to prepare the RMI registry file by using rmireg.war to build and deploy RMI to your clustered environment.

1. Build the RMI Registry file.

a) Start an administrative Command Prompt (Windows) or open a Terminal (Linux).

b) Navigate to <maximo_home>/deployment

c) Execute buildrmiregwar.cmd | sh

The rmireg.war file is created in the <maximo_home>/deployment/default directory.

2. Now, let's move on to deploying this RMI registry in the application server.

This file is deployed as a separate server on its own, independent of the Maximo clusters.

Go to Deploying the RMI Registry (rmireg.war) in WebSphere 7.0, 8.0. 8.5.5 and 9.0.x to install the RMI Registry war.

The RMI Registry JVM must always start before any cluster or cluster member; then, you can ripple start Maximo clusters or JVMs.

3. Once everything is up and running...

Look at the Maximo SystemOut.log at the time of startup.

MXServer logs directory

Search for "Bound rmi" in the log file.

Bound RMI

4. Set mxe.rmi.port for each JVM in Maximo instance properties.

The mxe.rmi.port is used for JVM RMI requests. In Systems Properties within Maximo UI, set a mxe.rmi.port for each JVM within your environment to communicate with the RMI registry. The following screenshot is an example with these three important fields to note:

- Value is the port number and it must be an available port higher than 1024.

- Server is the JVM name.

- Server Host is the IP address of the Server instance.

image 13019

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11130577