Failed to connect to the JMX port on server
When you first connect from MDM Workbench to WebSphere Application Server (AppServer) where MDM Server is installed, for example to deploy a configuration project or to run a virtual job, you might see this error:
Job Manager Error - Failed to connect to the JMX port on server
When you installed MDM server, the install deployed a JMX MBean which should be listening on the AppServer ports for incoming JMX requests. The workbench acts as a JMX client, and this error means it can't make the connection.
There can be several reasons why it might not be able to connect, here are some configuration aspects you should check:
- Test that you can ping from the Workbench machine to the machine that hosts WebSphere Application Server and MDM Server, using your preferred ping tool.
Verify AppServer status
If the target AppServer is not in full health, this affects the availability of the JMX connection. Review the SystemOut.log or HPEL logs: if possible restart the AppServer first to make sure you have startup messages:
If the MBean has started successfully, you should see messages like this:
RMIConnectorC A ADMC0026I: The RMI Connector is available at port <xxxx>
JMXConnectors I ADMC0058I: The JMX JSR160RMI connector is available at port <xxxx>
BlueprintCont I org.apache.aries.blueprint.container.BlueprintContainerImpl doRun Bundle com.ibm.mdm.server.virtualbridge is waiting for dependencies [(objectClass=com.ibm.mdm.server.config.api.ConfigManager), (objectClass=com.initiatesystems.hub.mpinet.MPINetProtocolLogic)]
- Note that these messages will only appear on startup, so they may not be visible if the logs have wrapped
If the MBean has not started, you may see messages like this:
BlueprintCont E org.apache.aries.blueprint.container.BlueprintContainerImpl$1 run Unable to start blueprint container for bundle com.ibm.mdm.server.virtualbridge due to unresolved dependencies [(objectClass=com.ibm.mdm.server.config.api.ConfigManager), (objectClass=com.initiatesystems.hub.mpinet.MPINetProtocolLogic)]
This message identifies a problem with the JMX MBean listener, but does not in itself identify the root cause: to find the source of the problem, you will need to look for other messages in the logs with earlier timestamps.
Here are some suggestions of possible causes: note that this list is not exhaustive
- Look for Database errors, search within SystemOut for
- Look for JMS errors, the JMX MBean for virtual relies on the SIBus messaging engine, search within SystemOut for
In many cases you will be able to fine technotes or other links on the internet with information about how to resolve these kinds of errors.
If you are not able to resolve issues in SystemOut / HPEL, contact IBM support, and include a copy of the AppServer logs.
New configuration: verify port / host settings
If the AppServer is healthy, and you have found the success message below, there may be a configuration problem.
Review the port and host configuration in the workbench
- In the WebSphere application console
- Go to Servers -> Server Types -> WebSphere application servers
- Select the server where the MDM runtime is installed
- Scroll down to the ports section and open it (see the screenshot in this section)
- Make a note of the ports for BOOTSTRAP_ADDRESS, SOAP_CONNECTOR_ADDRESS and ORB_LISTENER_ADDRESS (if not 0)
- In the Workbench
- Go to the Servers tab (you may need to add it from Window -> Show View)
- In the Overview panel, under Server select Manually provide connection settings
- Set the RMI port to BOOTSTRAP_ADDRESS
- Set SOAP port to SOAP_CONNECTOR_ADDRESS
- If ORB_LISTENER_ADDRESS is 0 (see screenshot in the WebSphere ND section below)
- At first, leave the IPC port as the default (9626)
- Execute Test Connection to verify the configuration of the RMI and SOAP ports
- Now un-check IPC port: Test Connection will stop working
- Or, if the ORB_LISTENER_ADDRESS is not 0, set the IPC port to match it
- Execute Test Connection to verify the configuration