This content has been marked as final. Show 5 replies
See item A.1 of the RMI FAQ on the RMI Home page, linked from the head of the JDK documentation.
Which IDE you use is entirely irrelevant.
yes, I already tried the workaround indicated in that doc (presently at http://docs.oracle.com/javase/1.4.2/docs/guide/rmi/faq.html#domain), but this does not solve the problem (any more?).
The solution (referenced but not completely explicit in the above doc) is to setup correctly the hostname on server side.
To help *nix users, check the two following commands:
rmiserver:~# hostname -fi
If you obtain a similar answer, that's the source of your problems.
To fix the problem you need to debug your dns/dhcp configuration (if your server is in a network with a dns/dhcp server). In an environment with static IP addresses and no dns (tipically a testing environment, as in my case), go to the /etc/hosts file and look for the association between your hostname (rmiserver in [http://docs.oracle.com/javase/1.4.2/docs/guide/rmi/faq.html#domain|figuration: so, ] the example) and an ip address. You will probably find a
that you can replace (see the warning below) with
or whatever is the IP from which the rmiserver is reachable from clients. This fix has effectively solved the problem in my case.
This fix may not solve all sorts of ip configuration problems, and may even damage you network configuration: apply it only if you exactly know what you are doing.
For further info about hostname configuration problems in Linux see:
The referenced RMI FAQ should be checked for validity.
I agree that the correct solution is to to fix the DNS , but java.rmi.server.hostname does work. You must have done it wrong. You have to set it before exporting any remote objects, including the Registry.
Double checked right now: yes, it works with -Djava.rmi.server.hostname=192.168.1.1 (or whatever the server IP is) on the server, with wrong hostname configuration.