dubbo调用多次服务的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo调用多次服务的问题相关的知识,希望对你有一定的参考价值。
首先根据dubbo的重试机制,超时机制,进行了配置:
服务:
<dubbo:service interface="com.fea.plat.bpm.activiti.service.BpmServiceMng" ref="bpmServiceMng" retries="0" version="1.0" timeout="150000"/>
客户:
<dubbo:reference interface="com.fea.plat.bpm.activiti.service.BpmServiceMng" id="bpmServiceMng" version="1.0" retries="0" timeout="150000"/>
根据网上找到的说明,这样配置应该就不会出现上述问题,但现在仍然会多次调用服务,各位大神,怎么破。。。
在一个项目里,两个地方调用了同样的dubbo服务,其中一个是正常的,另一个每次都会调用2次或3次,两个地方的代码基本一致
如:
<dubbo:service interface="com.sitech.cdoc.db.pmapBase.api.PmapBaseSvc" ref="pmapBaseSvc"/>
<bean id="pmapBaseSvc" class="com.sitech.cdoc.db.pmapBase.impl.PmapBaseSvcImpl" ></bean>
2.dbProvider.properties
配置服务的端口号,在一台机器上配置多个dubbo服务时,要注意端口号不能重复。 参考技术A 有可能是超时重试了 也有可能就是有两个dubbo的jar包追问
在一个项目里,两个地方调用了同样的dubbo服务,其中一个是正常的,另一个每次都会调用2次或3次,两个地方的代码基本一致
Dubbo重试次数
服务超时后重试次数【retries】,不包含第一次调用,0代表不重试
*我们应该在幂等方法上设置重试次数【查询、删除、修改】,在非幂等方法上禁止设置重试次数。
★幂等:指多次运行方法所产生的最终效果是一致的
1 <!--3、声明需要调用的远程服务接口,生成远程服务代理,可以和本地Bean一样使用--> 2 <dubbo:reference id="userService" interface="cn.coreqi.service.UserService" timeout="5000"> 3 <dubbo:method name="getById" timeout="1000" retries="3"/> 4 </dubbo:reference> 5 6 <!--4、配置服务消费者的统一规则--> 7 <dubbo:consumer timeout="5000"/>
以上是关于dubbo调用多次服务的问题的主要内容,如果未能解决你的问题,请参考以下文章