解决方法:
手动设置服务端的ip:-Djava.rmi.server.hostname=一个网卡的IP
问题描述:
项目是基于RMI实现的一个分布式架构,由于项目并未发展起来,所有服务端和客户端运行在同一个服务器上。在此期间,偶尔会报错:Connection timed out: connect。
解决过程
网上搜索相关资料,大多都是ip、端口和防火墙的设置问题,都与我这个情况不符,因为我这边是偶尔发生。
直到灵感发现
java.rmi.ConnectException: Connection refused to host: 211.xx.xx.xx; nested exception is: java.net.ConnectException: Connection timed out: connect
这个IP是公网IP,而我客户端找的IP是127.0.0.1。
然后想到可能是网卡问题,顺着问题一搜,发现也有相关文章:我第一次发现的。
我按照方法设置后,果然没有再出现上述问题,至此问题解决。