Enable static routing for a cluster
If our 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, we 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 administrative console, click...
Servers > Server Types > WebSphere application servers > server, 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.
We should only create a static route table if your high availability infrastructure is disabled and you require IIOP routing capabilities. To create a static route table:
Tasks
- Start the wsadmin tool 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.
- Use Jacl:
set cluster [$AdminControl completeObjectName cell= cell,type=Cluster,name=cluster_name,*] puts $cluster- Use Jython:
cluster = AdminControl.completeObjectName('cell= cell,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.
- Use Jacl:
$AdminControl invoke $cluster exportRouteTable- Use 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. We 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.
Use Jacl:
set configRepository [$AdminControl completeObjectName node=node,type=ConfigRepository,*] $AdminControl invoke $configRepository refreshRepositoryEpochUsing 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 using scripting topic.
- Exit the wsadmin tool.
- Use the following Debug flag appended to the startServer command to manually start each member of this cluster.
-Dcom.ibm.websphere.management.registerServerIORWithLSD=falseFor example, to start server1 on a Windows operating system with static routing enabled, issue the following command from the server profile's bin directory:
startServer.bat server1 -Dcom.ibm.websphere.management.registerServerIORWithLSD=false
The cluster members use the static route table to perform IIOP routes.
What to do next
When wer 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.
Disable static routing for a cluster Save wsadmin configuration changes Synchronize nodes Start the wsadmin scripting client Stopping clusters Stopping clusters using scripting Starting clusters Starting clusters using scripting Java virtual machine custom properties