1.场景
可以通过 RpcContext
上的 setAttachment
和 getAttachment
在服务消费方和提供方之间进行参数的隐式传递。
2.在服务消费方端设置隐式参数
setAttachment
设置的 KV 对,在完成下面一次远程调用会被清空,即多次远程调用要多次设置。
1 RpcContext.getContext().setAttachment("index", "1"); // 隐式传参,后面的远程调用都会隐式将这些参数发送到服务器端,类似cookie,用于框架集成,不建议常规业务使用 2 xxxService.xxx(); // 远程调用 3 // ...
3.在服务提供方端获取隐式参数
1 public class XxxServiceImpl implements XxxService { 2 3 public void xxx() { 4 // 获取客户端隐式传入的参数,用于框架集成,不建议常规业务使用 5 String index = RpcContext.getContext().getAttachment("index"); 6 } 7 }