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

关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. 最近在作一个项目,须要生成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官方配置指南.doc, <dubbo:service interface="com.XXXX.XXXXX.CardService" ref="cardService" timeout="1200000"/>