隐式传参
1. 什么是隐式传参
显式参数:就是平时见到的在方法名括号中间的参数,就是所谓能看得见的参数。
隐式传参: 就是未在方法是定义的,但的确又动态影响到程序运行的参数。
2. dubbo隐式传参
dubbo官网:https://dubbo.apache.org/zh/
dubbo的隐式传参:是通过RpcContext上下文对象进行实现的。
原理:RpcContext是一个ThreadLocal的临时状态记录器,当接收到RPC请求,或发起RPC请求时,RpcContext的状态都会变化。比如A调用B,RpcContext记录的是A调用B的信息。B再调用C,RpcContext的记录则更新为是B调用C的信息。
3. dubbo隐式传参的使用
要使用dubbo隐式传参,只需要使用两个api即可。
//向RpcContext存储内容
RpcContext.getContext().setAttachment("key","value");
//从RpcContext获取内容
String value= RpcContext.getContext().getAttachment("key");