I have a scenario where there are two applications which are interacting by EJB call (one is deployed on WAS 6 server and other one is deployed on WAS 4 application server). In my case, application deployed on WAS 6 is making a CORBA call to EJBs deployed on WAS 4 server.
Problem which I'm facing at the moment is whenever my WAS 4 server restarts (recycle of EJB deployed application) and later If I make a corba call from WAS 6 application (without restarting it) I get a connection error.
java.rmi.RemoteException: CORBA TRANSIENT 0x4942fe02 No; nested exception is:
org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused: connect:host=10.164.161.40,port=1879 vmcid: IBM minor code: E02 completed: No
I have got an article on IBM website which says that...
This is expected behavior and working as designed. By default, the ORB on the server comes up on a dynamically-assigned listener port. Initially, the client successfully connects to it; however; once the server recycles, it is likely to come up on a different dynamic listener port. The client assumes that the current connection is still valid, and continues to access the outdated port. The connection fails until the client is recycled.
To avoid this problem, set the listener port on the server to a static port. Set to a static port, the server always comes up on the same port and the client continues to function without a restart.
I have set following things..
1. In WAS 4 admin console, I have added following four entries under Nodes/localhost/Application Servers/Default Server/Process Definition/JVM Settings (system properties)
2. Also, I have created a file admin.config in <was_dir>/bin directory with the same details.
But still I'm facing same issue. When my WAS 4 server restarts, I get the same exception.
Can anyone please tell me how to resolve this issue. Can a static port assignment resolve this issue?
Below are the some pointers on it from IBM which I have done so far but no luck