美文网首页
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上下文信息

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

  • dubbo和feign传输上下文信息

    1.传输上下文 在两个进程传输的过程中,例如A进程向B进程传输数据,一般都需要传一些固定字段信息,这些信息一般是与...

  • Dubbo Filter 传递上下文环境信息

    需求 一般dubbo的service层都是一些通用的,无状态的服务。但是在某些特殊的需求下,需要传递一些上下文环境...

  • dubbo信息交换

    信息交换层(Exchange):封装请求响应模式,同步转异步,以Request和Response为中心,扩展接口为...

  • dubbo初了解

    dubbo作为阿里的开源rpc中间件,应用越来越广泛,从dubbo官网 可以了解到详细信息 配置 dubbo源码中...

  • dubbo初了解 隐式参数

    上下文信息 上下文中存放的是当前调用过程中所需的环境信息。所有配置信息都将转换为 URL 的参数,参见schema...

  • dubbo源码分析19 -- 服务治理

    在之前的 dubbo 源码分析中我们分析了 dubbo 的服务暴露。provider 把需要暴露的服务地址信息注册...

  • canvas-13 上下文对象的状态、变换

    上下文对象的状态:就是上下文对象的属性。比如描边颜色,填充颜色,投影,线条样式,变换信息 ... 管理上下文状态的...

  • SpringBoot 整合 Dubbo错误收集

    SpringBoot 整合 Dubbo CuratorFrameworkFactory找不到 错误信息:java....

  • 获取上下文信息

    HttpServletRequest request = ((ServletRequestAttributes) ...

网友评论

      本文标题:Dubbo上下文信息

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