Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
  • 1.  Maximo - RMI-Registry Connection issue

    Posted Wed February 28, 2024 01:45 PM
    Hi all,

    We are having issues while connecting to the RMI registry in Maximo.
    It works in DEV, PROD environments. But not in TEST.

    While testing the RMI connection using checkMxServer utility, it is partially working. That is, it is printing the servers hosting RMI Registry, but not connecting to the Maximo server.

    Kindly share your ideas/suggestions.

    Please find below error details. 
    (masked the host address to xx.xx.for security reasons)

    UNABLE TO CONNECT TO MAXIMO SERVER....
    psdi.util.MXSystemException: system#notboundexception
            at psdi.util.RMISession.connect(RMISession.java:180)
            at psdi.server.CheckMXServer.main(CheckMXServer.java:148)
    Caused by: java.rmi.ConnectException: Connection refused to host: 10.xx.xxx.xx; nested exception is:
            java.net.ConnectException: Connection timed out: connect
            at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:635)
            at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:228)
            at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:214)
            at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:143)
            at psdi.server.MXServer_Stub.lookup(Unknown Source)
            at psdi.util.RMISession.authenticateUser(RMISession.java:397)
            at psdi.util.RMISession.loadUserInfo(RMISession.java:293)
            at psdi.util.RMISession.connect(RMISession.java:72)
            ... 1 more
    Caused by: java.net.ConnectException: Connection timed out: connect
            at java.net.DualStackPlainSocketImpl.connect0(Native Method)
            at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:90)
            at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:380)
            at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:236)
            at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:218)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
            at java.net.Socket.connect(Socket.java:682)
            at java.net.Socket.connect(Socket.java:622)
            at java.net.Socket.<init>(Socket.java:485)
            at java.net.Socket.<init>(Socket.java:255)
            at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:52)
            at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:160)
            at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:629)



    Thanks!
    Sankar


  • 2.  RE: Maximo - RMI-Registry Connection issue

    Posted Wed February 28, 2024 02:17 PM

    You will want to verify a couple of properties in your production Maximo environment as it may likely be configured differently than your non-production and if the port or the servername is wrong you will get the error you posted.

    For example I have the following

    mxe.registry.port=13400

    mxe.name=MAXIMO

    You will then run the command as you have in the other environments such as "checkmxserver -h<ip address>:13400 -sMAXIMO -u maxadmin -p<password>". replace <ipaddress> with the server ip, hostname where Maximo is running.

    If you still get an error then I would check the firewall settings. If Maximo/Websphere is installed on a Windows Server it is likely that the Windows Firewall is blocking the port. If your IBM/SMP/maximo folder is on an Admin workstation and Maximo is running on a different server then it could potentially still be a firewall blocking the connection.

    Hope that helps.

    Mike



    ------------------------------
    Michael Marsonet
    Senior Consultant
    Ontracks Consulting
    (416) 522-2986
    ------------------------------



  • 3.  RE: Maximo - RMI-Registry Connection issue

    Posted Wed February 28, 2024 04:31 PM
    Yes.  Already verified and the ports are same.
    It's a clustered environment and ports are working  through 'telnet' command.

    Thanks!





  • 4.  RE: Maximo - RMI-Registry Connection issue

    Posted Fri March 01, 2024 05:09 AM

    In that case you need to check the JVM that you believe should be listening for the RMI registry e.g. has it had any crashes/heapdumps/core dumps ?

    Is it a dedicated JVM designed just to handle the RMI Registry?

    Maximo's use of RMI works best when it has a dedicated RMI registry because the JVM has very little to do so there is a tiny risk that it will crash.

    You also need to consider the order that the JVMs were started in.

    The first JVM to start will start the RMI registry component and host it until that JVM is shutdown. You need to identify the JVM hosting the RMI registry and make sure it is accessible from where you are trying to connect from. When the first JVM starts it will write a WebSphere log message stating that it is hosting the RMI registry and stating which port it is listening on.



    ------------------------------
    Mark Robbins
    Support Lead/Technical Design Authority / IBM Champion 2017 - 2023
    Cohesive (previously Vetasi Limited)
    https://www.linkedin.com/pulse/maximo-support-advice-from-non-ibm-engineer-article-mark-robbins/
    ------------------------------



  • 5.  RE: Maximo - RMI-Registry Connection issue

    Posted Sat March 02, 2024 05:09 AM
    Thanks for your detailed response.

    I tested the RMI connection using the 'checkMxServer' command. 
    It is able to detect the RMI posts and JVM. But, failed to establish a RMI connection.
    image.png

    I tried the following steps, but it did not resolve the issue.
    • Stopped the JVM and clear, temp, wstemp folder, run clearcache commands.
    • Installed the RMregistry.war from production (with updated maximo.properties)
    • Tested the 'checkMxServer' class in Java IDE (eclipse) from Administration server (where Maximo installed)  and App servers. (where JVM runs)
      • From 'ADM server' - It connects and prints RMI registry , but is not unable to connect to Maximo Server.
      • From App Server - It connects RMI port and establishes RMI session
    We do not have a dedicated server for RMI Registry. But the existing JVM seems to be running fine. (maybe we could not find it ).
    Is there any cluster specific setting to be checked?

    Kindly advise.

    Thanks!
    Sankar





  • 6.  RE: Maximo - RMI-Registry Connection issue

    Posted Tue March 05, 2024 06:09 AM
    It was a firewall restriction blocking some of ports has resolved now. The RMI port was open, so we didn't suspect about that. 
    Thanks for your help:)

    On Sat, Mar 2, 2024, 6:08 PM Sankar Ganesh <sankarganesh.vs@gmail.com> wrote:
    Thanks for your detailed response.

    I tested the RMI connection using the 'checkMxServer' command. 
    It is able to detect the RMI posts and JVM. But, failed to establish a RMI connection.
    image.png

    I tried the following steps, but it did not resolve the issue.
    • Stopped the JVM and clear, temp, wstemp folder, run clearcache commands.
    • Installed the RMregistry.war from production (with updated maximo.properties)
    • Tested the 'checkMxServer' class in Java IDE (eclipse) from Administration server (where Maximo installed)  and App servers. (where JVM runs)
      • From 'ADM server' - It connects and prints RMI registry , but is not unable to connect to Maximo Server.
      • From App Server - It connects RMI port and establishes RMI session
    We do not have a dedicated server for RMI Registry. But the existing JVM seems to be running fine. (maybe we could not find it ).
    Is there any cluster specific setting to be checked?

    Kindly advise.

    Thanks!
    Sankar