-
[武汉|荣耀师兄]JAVA-石奥林0编辑于2018-07-06
-
[郑州|荣耀师兄]JAVA-王耀琪0
你给的信息不全,没看到你的配置文件,不过可能是使用rmi时没有绑定ip地址。
解决办法有三种:
1 在服务端的启动主函数中加入System.setProperty
2 以root权限登录服务器输入 Vi /etc/hosts ,添加要访问的IP地址
3 使用spring的话,在配置RmiServiceExporter添加属性registryHost 设置访问的ip地址
编辑于2018-09-07 -
[北京|结业弟子]JAVA-王庸之0
上面的师兄讲解的很详细了,我再补充一点:如果是尝试本地调用服务器RMI。如果连不上。尝试把服务器所有端口和协议打开连接试试。
有些服务器的安全协议设置虽然开通了自定义TCP,但是实质上对RMI还是有阻拦的。比如阿里云,只有开放全部协议端口,才能连上。
另外对于上面王耀琪师兄的办法三提出疑问,这种我尝试过,因为spring这个类的设置逻辑问题,如果填写了registerHost,基本RMI服务是跑不起来的。因为一旦填写。spring不会自己创建注册实例。所以如果要用这种办法,得重写个RmiServiceExporter类。主要是添加手动创建注册类。然后填写registerHost属性才行。
编辑于2018-09-26
- 去第 页