spring rmi linux 环境调试笔记

自己写了spring rmi 放在windows 下运行正常

然后再放到linux下运行不通

 

1. 多ip问题解决

症状 :去远程调用(rmi://211.254.184.29:8088/hello),

返回的错误里显示的ip 不是211.254.184.29 而是机器的局域网ip或者127.0.0.1

 

解决办法

修改 /etc/hosts 在里面添加 11.254.184.29 hostname(机器名) 

hostname 与 /etc/sysconfig/network中的hostname一样

重启网络配置servicee network restart

 

还有一种简单的办法,就是在代码里面加上

System.setProperty("java.rmi.server.hostname", ip);

 

2. 防火墙问题

症状 关闭防火墙能连上,开启就不行

 

解决 修改/etc/sysconfig/iptables 添加对应的端口 service iptables restart

 

注意rmi 有两个端口,一个是注册端口,一个是数据端口

网上的demo一般只给了注册端口,而数据端口是随机产生的

那肯定是过不了防火墙的,可以两个都设成一样的

<property name="registryPort">

    <value>8088</value>

 </property>

<property name="servicePort">

    <value>8088</value>

 </property>

 

  

 

你可能感兴趣的:(spring rmi)