О Spring RMI, работающем в системе Linux - PullRequest
1 голос
/ 18 июня 2011

Когда я упаковал свои приложения RMI, перешел на систему Linux и запустил ее.

Журнал показывает, что службы RMI работают на сервере 127.0.0.1 (который был напечатан методом InetAddress.getLocalhost()).

Конфигурация в файле хоста - это «127.0.0.1 localhost.localdomain localhost», поэтому я думаю, что RMI-сервер по умолчанию получил Localhost в качестве IP-адреса сервера.

После этого мой клиент RMI пытается вызвать метод сервера RMI с его реальным IP (172.16.7.155), что вызвало исключение «Отказано в подключении 127.0.0.1».

Есть два способа решить эту проблему. Один из них - изменить файл хоста и отразить локальный хост в реальном IP (172.16.7.155), но я не могу изменить его, потому что другие приложения используют домен локального хоста.

Другой способ - сбросить метод определения IP-адреса на RMI Server, т. Е. Вместо InetAddress.getLocalhost(), есть ли конфигурация для этого метода?

1 Ответ

0 голосов
/ 19 июня 2011

Вероятно, вы можете исправить это, запустив процесс сервера java rmi с системным свойством "-Djava.rmi.server.hostname = 172.16.7.155" (или любым другим публичным ip-адресом блока).(подробности здесь )

...