I am having a problem getting remote J2EE clients to talk to a Linux JBoss server. The server is running JBoss 3.2.6, Sun JDK 1.4.2_06, and RHEL 3 and Red Hat Linux 9.
The problem is that when a remote client connects to the naming service, the connection to 1099 goes through fine, but the returned NamingServer_Stub identifies itself as a remote reference to the IP "127.0.0.1" and the port "1098". This can be confirmed by doing a:
telnet XX.XX.XX.XX 1099
The client then attempts to connect to 127.0.0.1:1098, but there is no JBoss server running on the client so the connection fails.
After looking in the forums, I found the following post:
Which mentions setting the java.rmi.server.hostname system property at server startup time.
I was wondering if anyone was aware of the root cause of this problem or any other workarounds. Is it related to machines not appearing in DNS?
We do not have direct control over the machines we will be deploying this software on and I have no idea if they will be multi-homed or if eth0 will be the preferred interface.
Determining the java.rmi.server.hostname system properly from an installation script may be problematic.
A related question, how does JBoss handle multi-homed machines? Is the IP address returned in the remote reference to NamingServer_Stub hardcoded to one of the interfaces? Does the interface it use depend on the IP address used to connect to 1099?