凌风515
时不我待,只争朝夕

web微服务、service微服务使用测试环境配置本地启动后,web调用service接口时调用的是测试环境的接口,本地service接口打断点时,不会进入本地service接口断点,可以使用以下两种方式实现进入本地service接口断点

方法一

  1、在web微服务的resource目录下增加配置文件local-dubbo.properties,文件名可随意命名;

    1.1、在local-dubbo.properties中配置要调用且需要进入service接口内部断点;

    1.2、配置内容如下所示:   

       com.test.tz.service.api.provider.AssetPoolAssetInfoProvider=dubbo://192.168.132.80:17158
       com.test.tz.service.api.provider.AssetInfoProvider=dubbo://192.168.132.80:17158
       com.test.tz.service.api.provider.CustCompanyInfo=dubbo://192.168.132.80:17131

    1.3、192.168.132.80:17158为对应service服务本地启动的IP及端口;

  2、在web微服务的Idea中的Run/Debug Configurations的VM Options中配置local-dubbo.properties文件目录,内容参考如下:

     -Ddubbo.resolve.file=D:\code\test-tz\test-web\src\main\resources\local-dubbo.properties

   3、在service微服务中的application.properties文件加上dubbo.registry.register=false防止本地service注册到测试环境的注册中心导致测试环境调用到本地接口;

  【缺点】:需要配置需要进入断点的service接口的每一个接口类 ,而方法二只需要在需要进入断点的service服务配置相同的group并启动服务即可;

  【优点】:本地只需要启动需要进入断点的service服务,调用链中不需要进入断点的service服务本地不需要启动依然可以调用到测试环境接口请求到数据,因为group和测试环境时一样的,但是得注意加上dubbo.registry.register=false防止本地service注册到测试环境的注册中心导致测试环境调用到本地接口,而方法二需要本地启动调用链涉及到的所有service服务,否则对应group下面该接口无提供者会报错导致调用链无法走完;

 

 方法二

  1、修改web微服务及service微服务的application.properties文件,修改dubbo.registry.group = registry_group_sp_service为:dubbo.registry.group = registry_group_sp_service_tz,名字可随意命名,目的是为了修改本地web及service服务的group都一样,但是跟测试环境不一致,可保证调用的都是注册到这个group的接口(都是你自己本地启动的服务接口)

  【缺点】:如果web接口或service接口调用链涉及到几个甚至十几个service服务时,涉及到的所有service都需要配置该group并且启动提供接口,否则会导致该调用链调用该接口时出现无提供者而报错,导致调用链无法走完;

  【优点】:如果web接口或service接口调用链涉及service服务比较少时,相对于方法一会比较方便,只需要在涉及到的service中配置好相同的group并且涉及service都启动即可完成调用链断点,,不需要像方法一那样要配置需要进入断点的每个service接口类;

 

posted on 2022-05-11 18:02  凌风515  阅读(1652)  评论(0编辑  收藏  举报