《Apache Dubbo微服务开发从入门到精通》——高级功能——五、 上下文隐式传参(上) https://developer.aliyun.com/article/1224999
3. 使用方式
注:setAttachment设置的KV对,在完成下面一次远程调用会被清空,即多次远程调用要多次设置。
1) 在服务消费方端设置隐式参数
2) 在服务提供方端获取隐式参数
3) 在服务提供方写入回传参数
4) 在消费端获取回传参数
4. 参数透传问题
在Dubbo 2.7中,在A端设置的参数,调用B以后,如果B继续调用了C,原来在A中设置的参数也会被带到C端过去,造成参数污染的问题。
Dubbo 3对RpcContext进行了重构,支持可选参数透传,默认开启参数透传。
在Dubbo 3中提供了如下的SPI,默认无实现,用户可以自行定义实现,select的结果(可以从RpcClientAttachment获取当前所有参数)将作为需要透传的键值对传递到下一跳,如果返回null则表示不透传参数。