科帮网-Java论坛、Java社区、JavaWeb毕业设计

登录/注册
您现在的位置:论坛 资料库 开源社区 > 关于dubbo服务产生异常之:Caused by: com.alibaba.dubb ...
总共48085条微博

动态微博

查看: 1566|回复: 0

关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutExcepti...

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2016-05-26 16:37:13 |只看该作者 |倒序浏览
    最近在做一个项目,需要生成9000个号码,为了方便系统分离合并,采用dubbo实现,在本地测试生成时什么问题都没有,顺顺利利的实现生成并显示状态,可是每次调用dubbo服务时就会产生异常,每当想要生成200个号码的时候,它会生成400个或者600,很显然它是执行了三次,也就是服务调了三次,看后台总是看到一个tried 3 times……这也正是产生三倍数量的原因,后来仔细看了后台异常说的是……timeout……,那么自然想到是服务超时,个人觉得是在调用一次服务时,后台需要执行的时间太长,超出了服务的响应超时时间(response timeout),所以它会再次尝试调用服务,可能是dubbo服务的设置,最多尝试三次,所以就会产生调用三次服务,产生三倍号码的结果,那么这样就有方向了,修改dubbo服务的超时时间timeout,网上找设置dubbo timeout的方法,http://wenku.baidu.com/view/5c6854287375a417866f8f61,这里边仔细介绍了设置超时时间的方法,还进行了详细分析,开始设置的timeout=10000,少量的可以正常完成,可是数大点就不行了,后来有同事说可以设置timeout=0就没有超时时间,但是测试过,不可以,因为默认的是500,你设置了0,就是不管怎样都是超时了,这个和其他框架的配置不太一样,后来在服务提供端设置timeout=1200000,ok!完胜!虽然有点大,但是也没影响。


    <dubbo:service interface="com.XXXX.XXXXX.CardService" ref="cardService" timeout="1200000"/>


    科帮网-Java论坛、Java社区、JavaWeb毕业设计 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网-Java论坛、Java社区、JavaWeb毕业设计享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网-Java论坛、Java社区、JavaWeb毕业设计的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网-Java论坛、Java社区、JavaWeb毕业设计管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表