提交 59113918 编写于 作者: W william.liangf

将UrlUtils移到common包

git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@142 1a56cb94-b969-4eaa-88fa-be21384802f2
上级 29a488d8
......@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.registry.support;
package com.alibaba.dubbo.common.utils;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -22,11 +22,9 @@ import java.util.Map;
import java.util.Set;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.ExtensionLoader;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.common.utils.StringUtils;
import com.alibaba.dubbo.registry.RegistryFactory;
public class UrlUtils {
......@@ -53,12 +51,8 @@ public class UrlUtils {
}
String defaultProtocol = defaults == null ? null : defaults.get("protocol");
if (defaultProtocol == null || defaultProtocol.length() == 0) {
if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("remote")) {
defaultProtocol = "remote";
} else {
defaultProtocol = "dubbo";
}
}
String defaultUsername = defaults == null ? null : defaults.get("username");
String defaultPassword = defaults == null ? null : defaults.get("password");
int defaultPort = StringUtils.parseInteger(defaults == null ? null : defaults.get("port"));
......
......@@ -21,13 +21,15 @@ import java.util.List;
import java.util.Map;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.ExtensionLoader;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.Version;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.common.utils.StringUtils;
import com.alibaba.dubbo.common.utils.UrlUtils;
import com.alibaba.dubbo.monitor.MonitorService;
import com.alibaba.dubbo.registry.RegistryFactory;
import com.alibaba.dubbo.registry.RegistryService;
import com.alibaba.dubbo.registry.support.UrlUtils;
import com.alibaba.dubbo.rpc.Filter;
import com.alibaba.dubbo.rpc.InvokerListener;
import com.alibaba.dubbo.rpc.ProxyFactory;
......@@ -155,6 +157,13 @@ public abstract class AbstractReferenceConfig extends AbstractMethodConfig {
Map<String, String> map = new HashMap<String, String>();
appendParameters(map, config);
map.put("path", RegistryService.class.getName());
if (! map.containsKey("protocol")) {
if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("remote")) {
map.put("protocol", "remote");
} else {
map.put("protocol", "dubbo");
}
}
List<URL> urls = UrlUtils.parseURLs(config.getAddress(), map);
for (URL url : urls) {
url = url.addParameter(Constants.REGISTRY_KEY, url.getProtocol());
......@@ -176,8 +185,12 @@ public abstract class AbstractReferenceConfig extends AbstractMethodConfig {
appendParameters(map, monitor);
if (monitor.getAddress() != null || monitor.getAddress().length() > 0) {
if (! map.containsKey("protocol")) {
if (ExtensionLoader.getExtensionLoader(RegistryFactory.class).hasExtension("logstat")) {
map.put("protocol", "logstat");
} else {
map.put("protocol", "dubbo");
}
}
return UrlUtils.parseURL(monitor.getAddress(), map);
} else if (monitor.getProtocol() != null || monitor.getProtocol().length() > 0) {
return new URL(monitor.getProtocol(), NetUtils.getLocalHost(), 0, MonitorService.class.getName(), map);
......
......@@ -24,6 +24,7 @@ import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.logger.Logger;
import com.alibaba.dubbo.common.logger.LoggerFactory;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.common.utils.UrlUtils;
import com.alibaba.dubbo.registry.NotifyListener;
import com.alibaba.dubbo.registry.RegistryService;
import com.alibaba.dubbo.rpc.RpcContext;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册