最全最简单的dubbo教程-本地存根《十二》

业务场景

远程调用后,有时候服务的提供方也想在服务的消费方执行一些比如,提前验证一些参数,不符合要求的情况下制造一些容错数据返回给用户,避免不必要的远程调用对系统资源的消耗。那么本地存根就是解决这个问题的。

配置方法

定义一个本地存根

该存根必须实现共同的接口,且个人建议放在共同依赖接口定义的位置如图:
最全最简单的dubbo教程-本地存根《十二》
我在代码的11行的位置,打印了执行存根的代码。

在消费端或者提供端配置存根

消费端的配置

<dubbo:reference id="defaultService" interface="com.gjy.service.DefaultApiService"  version="1.0.0"  stub="com.gjy.service.DefaultApiServiceSub"/>

服务端的配置

<dubbo:service interface="com.gjy.service.DefaultApiService" ref="defaultService" version="1.0.0"  stub="com.gjy.service.DefaultApiServiceSub"/>

个人建议在服务端做配置,感觉在消费端做配置意思不大,因为个人感觉完全可以在消费者调用服务者的时候可以在代码里进行逻辑判断,从而决定要不要调用服务的提供方。
我这里配置的是在服务的提供者里面。

运行代码测试

最全最简单的dubbo教程-本地存根《十二》
存根代码已执行。