We are using the jboss version 4.2.2.GA with cluster setup to host our application. We have few singleton services specific to our application.
When singleton(master) server gets killed, i see the new master comes up and deploys the singleton services. And when i call the singleton service method, it got delegated to the new singleton server.
Where as when the conectivity(physically remove the nic cable) of the master node goes down, the new singleton is elected, but the jrmp invoker hangs for a long time to invoke the singleton service.
When i chek this in a debug mode, it shows the call is initiated to the previous singleton server, which is expected, because my implementation will try to get the new singleton service only when the invoke fails.
After a long time it throws
java.rmi.ConnectException: Connection refused to host: 172.24.135.175; nested exception is:
java.net.ConnectException: Connection timed out
How can i configure this jrmp timeout?
I have tried to set the -Dsun.net.client.defaultConnectTimeout and readtimeout properties, but didn't help.
Identified the issue, timeout for socket creation is not configured in sun.rmi.transport.proxy.RMIDirectSocketFactory
public Socket createSocket(String host, int port) throws IOException
//Timeout is not configured for socket creation
return new Socket(host, port);