EHCACHE RMI 集群部署 在LINUX 服务器上,关闭防火墙运行正常,打开防火墙报错

getdate 2015-12-23 02:26:13
问题描述同上,在系统防火墙中已经将RMI的端口添加了例外。而且通过Telnet 命令也可以正常连接,报错信息描述如下:


2015-12-22 10:58:56 WARN [Replication Thread] (RMIAsynchronousCacheReplicator.java:325) - Unable to send message to remote peer. Message was: Exception creating connection to: *.*.*.208; nested exception is:
java.net.NoRouteToHostException: No route to host
java.rmi.ConnectIOException: Exception creating connection to: *.*.*.208; nested exception is:
java.net.NoRouteToHostException: No route to host
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at net.sf.ehcache.distribution.RMICachePeer_Stub.send(Unknown Source)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.writeReplicationQueue(RMIAsynchronousCacheReplicator.java:314)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:127)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$000(RMIAsynchronousCacheReplicator.java:58)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:389)
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory.createSocket(ConfigurableRMIClientSocketFactory.java:71)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 8 more



哪位高手给指点指点?
...全文
418 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
whyjkl 2017-04-07
  • 打赏
  • 举报
回复
遇到同样的问题,配置是怎样的,麻烦贴出来,谢了!!!
getdate 2015-12-29
  • 打赏
  • 举报
回复
引用 4 楼 dracularking 的回复:
多试试,重启之类,感觉是防火墙例外没添加成功的样子
谢谢 原因找到了,在配置的时候,cacheManagerPeerProviderFactory指定了远程端口,但是必须在cacheManagerPeerListenerFactory 中增加同一个端口就OK了,否则远程服务器的端口仍为随机的端口,因此会被拦截。
getdate 2015-12-29
  • 打赏
  • 举报
回复
引用 2 楼 ArayChou 的回复:
我赌一块钱:你代码里写的地址和你telnent的地址不是同一个地址
要是真赌你就输了,哈哈! 原因找到了,在配置的时候,cacheManagerPeerProviderFactory指定了远程端口,但是必须在cacheManagerPeerListenerFactory 中增加同一个端口就OK了,否则远程服务器的端口仍为随机的端口,因此会被拦截。
dracularking 2015-12-24
  • 打赏
  • 举报
回复
多试试,重启之类,感觉是防火墙例外没添加成功的样子
dracularking 2015-12-24
  • 打赏
  • 举报
回复
多试试,重启之类,感觉是防火墙例外没添加成功的样子
ArayChou 2015-12-23
  • 打赏
  • 举报
回复
我赌一块钱:你代码里写的地址和你telnent的地址不是同一个地址

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧