This is an automated email from the ASF dual-hosted git repository. jerrick pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/2.5.x by this push: new 9362181 fix subscription when enable monitor (#2111) 9362181 is described below commit 9362181d1285fe89d345ebf92ec4186353f1fd02 Author: jasonjoo2010 <hblz...@163.com> AuthorDate: Thu Aug 16 15:37:46 2018 +0800 fix subscription when enable monitor (#2111) --- .../com/alibaba/dubbo/config/AbstractInterfaceConfig.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractInterfaceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractInterfaceConfig.java index 6fbed0a..45a9ab3 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractInterfaceConfig.java +++ b/dubbo-config/dubbo-config-api/src/main/java/com/alibaba/dubbo/config/AbstractInterfaceConfig.java @@ -36,6 +36,8 @@ import com.alibaba.dubbo.rpc.ProxyFactory; import com.alibaba.dubbo.rpc.cluster.Cluster; import com.alibaba.dubbo.rpc.support.MockInvoker; +import static com.alibaba.dubbo.common.utils.NetUtils.isInvalidLocalHost; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -226,7 +228,16 @@ public abstract class AbstractInterfaceConfig extends AbstractMethodConfig { if (ConfigUtils.getPid() > 0) { map.put(Constants.PID_KEY, String.valueOf(ConfigUtils.getPid())); } + //set ip + String hostToRegistry = ConfigUtils.getSystemProperty(Constants.DUBBO_IP_TO_REGISTRY); + if (hostToRegistry == null || hostToRegistry.length() == 0) { + hostToRegistry = NetUtils.getLocalHost(); + } else if (isInvalidLocalHost(hostToRegistry)) { + throw new IllegalArgumentException("Specified invalid registry ip from property:" + Constants.DUBBO_IP_TO_REGISTRY + ", value:" + hostToRegistry); + } + map.put(Constants.REGISTER_IP_KEY, hostToRegistry); appendParameters(map, monitor); + appendParameters(map, application); String address = monitor.getAddress(); String sysaddress = System.getProperty("dubbo.monitor.address"); if (sysaddress != null && sysaddress.length() > 0) {