Troubleshooting
Problem
Error / Warning while invoking RMI calls required for Refresh Cache messages, Change Trace Level .
Symptom
Known Symptoms
- Application fails to change Logging Levels,
- Conflict in DB value and IBM Sterling Application Management Console UI.
- Application log shows similar error stack as shows below:
[1332943203971]java.rmi.ConnectException: Connection refused to host: <IP>; nested exception is:
java.net.ConnectException: Connection refused
at
sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) at
sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:210) at
sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:196) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122) at
com.yantra.yfc.rmi.YFCRemoteObject_Stub.invoke(YFCRemoteObject_Stub.java :90)
Cause
IBM Sterling Selling and Fulfillment Suite JVMs cannot communicate with other active IBM Sterling JVMs using RMI calls
Diagnosing The Problem
Use OS tools like lsof / netstat to check the port which IBM Sterling JVMs listen to.
It most likely that port is not accessible from other servers (due to firewall or similar softwares).
Resolving The Problem
Following solution will help if error logs contains error stack as shown in this document.
IBM Sterling Selling and Fulfillment Suite JVMs makes RMI calls to broadcast messages in the events like DB Cache Refresh, Modify Trace levels etc..
If firewall is configured to open specific ports for communication purposes; then IBM Sterling processes must be configured to listen specific ports. This can be achieved using property rmi.portrange . Refer yfs.properties or Properties Guide for more details.
Example :
Following entry in customer_override.properties will ensure that Sterling JVMs will listen on one of the available port between 40000-50000.
yfs.rmi.portrange=40000-50000
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21591783