美文网首页
Dubbo上下文信息

Dubbo上下文信息

作者: 奔跑的Robi | 来源:发表于2019-08-14 11:13 被阅读0次

    Dubbo中的上下文信息使用RpcContext类表示,它是一个ThreadLocal类,针对每一次调用保存当次的调用信息

    Provider:

    public class XxxServiceImpl implements XxxService {
     
        public void xxx() {
            // 本端是否为提供端,这里会返回true
            boolean isProviderSide = RpcContext.getContext().isProviderSide();
            // 获取调用方IP地址
            String clientIP = RpcContext.getContext().getRemoteHost();
            // 获取当前服务配置信息,所有配置信息都将转换为URL的参数
            String application = RpcContext.getContext().getUrl().getParameter("application");
            // 注意:每发起RPC调用,上下文状态会变化
            yyyService.yyy();
            // 此时本端变成消费端,这里会返回false
            boolean isProviderSide = RpcContext.getContext().isProviderSide();
        } 
    }
    

    Consumer:

    // 远程调用
    xxxService.xxx();
    // 本端是否为消费端,这里会返回true
    boolean isConsumerSide = RpcContext.getContext().isConsumerSide();
    // 获取最后一次调用的提供方IP地址
    String serverIP = RpcContext.getContext().getRemoteHost();
    // 获取当前服务配置信息,所有配置信息都将转换为URL的参数
    String application = RpcContext.getContext().getUrl().getParameter("application");
    // 注意:每发起RPC调用,上下文状态会变化
    yyyService.yyy();
    

    相关文章

      网友评论

          本文标题:Dubbo上下文信息

          本文链接:https://www.haomeiwen.com/subject/rhxgjctx.html