设为首页 收藏本站
查看: 955|回复: 0

[经验分享] apache rpc 设置超时不启作用的情况的处理

[复制链接]

尚未签到

发表于 2017-1-14 09:10:15 | 显示全部楼层 |阅读模式
虽然大部情况下都是用WS,但RPC在某些情况下还是比较轻便的选择。
http://ws.apache.org/xmlrpc/

config.setConnectionTimeout(5000);
config.setReplyTimeout(6000);

问题主要从这两句代码开始,从网上找到的例子程序,设置这两个参数均不起任何作用,查看rpc的源代码发现在,其使用的TransportFactory并没有在进行socket的时候进行相应的设置,查看其他的TransportFactory,发现真正使用此参数设置socket的是XmlRpcCommonsTransportFactory工厂

XmlRpcClient client = new XmlRpcClient();
client.setTransportFactory(new XmlRpcCommonsTransportFactory(client));
client.setConfig(config);


重新设置传输工厂,得到了想要的效果。
现在我们在来说一说timeout与replytimeout
RPC进行网络通信同样使用的是jdk中的socket进行的。
所有 connectiontimeout对应于socket中的connecttimeout
      replytimeout对应于socket中的sotimeout


Socket s = new Socket();
s.connect(socketAddress,2000); // 2 秒connect timeout超时   
s.setSoTimeout(15000); // 15 秒io超时


看代码中的注释,connecttimeout是连接超时了,例如一个IP并没有在局域网中,你的PC向网络中发了一个包,长时间没有找到回应的主机,就会产生一个连接超时了。而sotimeout是IO超时,服务器已经找到了,而长时间得不到服务器的数据,也就是说socket没有在设置的时间内从IO中读到任何内容就会出再sotimeout超时
这部分更详细的情况可以参看JDK相应的源代码,但是JDK同样是调用dll文件中的方法实现的网络连接的操作,不知道有什么办法可以更详细的查看dll中相应的代码,如果你知道,请回复一下,共同学习。。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328160-1-1.html 上篇帖子: .htaccess入门教程 及 apache中.htaccess文件的功能写法 下篇帖子: Apache Common的运用----生成固定格式的辅助性的代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表