学习目标
-
Dubbo的mock方式有哪几种
-
Dubbo的mock原理
第1章 Mock原理分析
1.1 功能描述
在前面的高级用法中我们讲过mock的使用方式以及作用,在这里不再赘述,这里针对mock的集中配置形式来分析一下mock的实现原理。
1.2 mock = "force:return eclipse2019"
1.2.1 使用场景
这种一般不会出现在代码配置中,一般都是在服务治理的时候进行配置的,如果指定后端接口有问题了,可以在dubbo-admin中配置该接口对应的某方法进行强制降级。
1.2.2 源码分析
有关mock的实现逻辑全部都在MockClusterInvoker中,当我们用代理对象调用的时候,代码会走到代理的advice类,也就是InvokerInvocationHandler中,然后走到MigrationInvoker,然后走到了MockClusterInvoker当中,调到了其invoke方法,代码如下:
@Override
public Result invoke(Invocation invocation) throws RpcException {
Result result = null;
//获取url中的mock参数
String value = getUrl().getMethodParameter(invocation