Enable static routing for a cluster
If the high availability infrastructure is disabled and you require IIOP routing capabilities, we can create a static routing table for the members of a cluster to use to handle enterprise bean requests. Because the information contained in this static routing table does not account for server runtime state, you should delete this table and return to using the dynamic routing table as soon as your high availability infrastructure is enabled.
Before creating a static route table, ensure that:
- The ORB_LISTENER_ADDRESS port is set to a non-zero value on each of the cluster members. Because the route table we create is static, and the cluster members do not communicate during state changes, if we do not set the ORB_LISTENER_ADDRESS port on each of the cluster members, the cluster members might restart on different ports, and IIOP requests will not be routed correctly.
To change the value specified for the ORB_LISTENER_ADDRESS port:
- In the console, click Servers > Server Types > WebSphere application servers > server_name, and then under Communications, click Ports .
- Click ORB_LISTENER_ADDRESS in the Port name field.
- Change the value specified for the Port field to a value that is greater than 0.
- Each cluster member is started and can use these new non-zero ORB_LISTENER_ADDRESS port values to correctly route IIOP requests.
You should only create a static route table if the high availability infrastructure is disabled and you require IIOP routing capabilities. To create a static route table:
- Start wsadmin.sh if it is not already running.
- Identify the cluster managed bean (MBean) for the cluster for which we are creating the route table, and assign that MBean to a variable.
- Jacl:
set cluster [$AdminControl completeObjectName cell= cell_name,type=Cluster,name=cluster_name,*] puts $cluster
- Jython:
cluster = AdminControl.completeObjectName('cell= cell_name,type=Cluster,name=cluster_name,*') print cluster
These commands return the name of the cluster MBean for the specified cluster. For example, for cluster cluster1, the output from these commands will be similar to the following message:
WebSphere:cell=mycell,name=cluster1,mbeanIdentifier=Cluster,type= Cluster,process=cluster1
- Export the route table.
- Jacl:
$AdminControl invoke $cluster exportRouteTable
- Jython:
AdminControl.invoke(cluster, exportRouteTable)
After the table is created, the name of the route table file, is displayed in a message similar to the following message:
/home/myInstall/was/server/profiles/dmgrProfile/config/cells/mycell/ clusters/cluster1/cluster1.wsrttblAs this message illustrates, the file containing the table is placed in the config directory of the deployment manager for that cluster. You should keep a record of this location so that we can delete this file when we are ready to start using dynamic routing again.
- Synchronize the configuration changes across nodes.
- Clear the configuration repository Epoch. If we do not clear the configuration repository Epoch, the synchronization only updates the files that the configure service component edited, which does not include the file containing the static routing table.
Using Jacl:
set configRepository [$AdminControl completeObjectName node=node,type=ConfigRepository,*] $AdminControl invoke $configRepository refreshRepositoryEpoch
Using Jython:
configRepository = AdminControl.completeObjectName('node=node, type=ConfigRepository,*') AdminControl.invoke(configRepository, 'refreshRepositoryEpoch')
- Repeat this process for each node to synchronize.
- Stop the cluster. Follow the instructions specified either the Stopping clusters or Stopping clusters topic.
- Exit wsadmin.sh.
- Use the following Debug flag appended to the startServer command to manually start each member of this cluster.
-Dcom.ibm.websphere.management.registerServerIORWithLSD=false
For example, to start server1 on a Windows operating system with static routing enabled, issue the following command from the server profiles bin directory:
startServer.bat server1 -Dcom.ibm.websphere.management.registerServerIORWithLSD=false
Results
The cluster members use the static route table to perform IIOP routes.
What to do next
When the high availability infrastructure is enabled, follow the instructions in the topic Disable static routing for a cluster to disable static routing. When static routing is disabled, the cluster members resume using dynamic routing.
Related tasks
Disable static routing for a cluster Saving configuration changes with wsadmin.sh Synchronize nodes using wsdmin.sh Start the wsadmin scripting client Stopping clusters Stopping clusters Start clusters Start clusters
Java virtual machine custom properties