dubbo 错误ip及ip乱入的问题解决-InetAddress还是DNS的锅

一、简述问题背景

同事在本地启动dubbo服务时,发现自己的注册到zk上的dubbo 地址为:
dubbo://192.168.20.100:20880/com.xxx.xxx...

而其实际的ip 地址是192.168.10.60,他换了好几次不同的版本号启动应用,发现始终不是正常的ip地址,于是,开始了这次排插过程~~,看解决方案可以直接到三。


二、查看源码

1.首先,我们看下同事自身配置的dubbo.xml,里面的 dubbo:provider和dubbo.protocol均无强制指定的URL,排除是自身dubbo配置文件的问题
2.我们开始看dubbo 里面是怎么初始化提供者的url,由于dubbo 中存在ServiceBean实现了InitializingBean接口,因此在Spring示例化这个bean后会调用里面的 afterPropertiesSet 方法:

public void afterPropertiesSet() throws Exception {
    //前面省略部分代码,这些代码是在判断配置项缺失时的处理
    ......
    // 处理完后暴露provider
    if (!isDelay()) {
        export();
    }
}

3.接着我们到export方法里面看,它做了什么,它在 ServiceConfig 中:

    public synchronized void export() {
        // 这个代码段很好理解,就是 赋值 export和delay
        if (provider != null) {
            if (export == null) {
                export = provider.getExport();
            }
            if (delay == 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值