提取注册中心常量和条件
git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@1216 1a56cb94-b969-4eaa-88fa-be21384802f2
This commit is contained in:
parent
cbef7f23ad
commit
cf3c0900f1
|
|
@ -24,438 +24,464 @@ import java.util.regex.Pattern;
|
|||
*/
|
||||
public class Constants {
|
||||
|
||||
public static final String PROVIDER = "provider";
|
||||
public static final String PROVIDER = "provider";
|
||||
|
||||
public static final String CONSUMER = "consumer";
|
||||
public static final String CONSUMER = "consumer";
|
||||
|
||||
public static final String VALIDATION_KEY = "validation";
|
||||
public static final String PROVIDERS = "providers";
|
||||
|
||||
public static final String CACHE_KEY = "cache";
|
||||
|
||||
public static final String DUBBO_PROPERTIES_KEY = "dubbo.properties.file";
|
||||
|
||||
public static final String DEFAULT_DUBBO_PROPERTIES = "dubbo.properties";
|
||||
public static final String CONSUMERS = "consumers";
|
||||
|
||||
public static final String SENT_KEY = "sent";
|
||||
public static final String REGISTER = "register";
|
||||
|
||||
public static final boolean DEFAULT_SENT = false;
|
||||
public static final String UNREGISTER = "unregister";
|
||||
|
||||
public static final String REGISTRY_PROTOCOL = "registry";
|
||||
public static final String SUBSCRIBE = "subscribe";
|
||||
|
||||
public static final String $INVOKE = "$invoke";
|
||||
public static final String UNSUBSCRIBE = "unsubscribe";
|
||||
|
||||
public static final String $ECHO = "$echo";
|
||||
public static final String VALIDATION_KEY = "validation";
|
||||
|
||||
public static final int DEFAULT_IO_THREADS = Runtime.getRuntime().availableProcessors() + 1;
|
||||
public static final String CACHE_KEY = "cache";
|
||||
|
||||
public static final String DEFAULT_PROXY = "javassist";
|
||||
public static final String DUBBO_PROPERTIES_KEY = "dubbo.properties.file";
|
||||
|
||||
public static final int DEFAULT_PAYLOAD = 8 * 1024 * 1024; // 8M
|
||||
public static final String DEFAULT_DUBBO_PROPERTIES = "dubbo.properties";
|
||||
|
||||
public static final String DEFAULT_CLUSTER = "failover";
|
||||
|
||||
public static final String DEFAULT_DIRECTORY = "dubbo";
|
||||
public static final String SENT_KEY = "sent";
|
||||
|
||||
public static final String DEFAULT_LOADBALANCE = "random";
|
||||
public static final boolean DEFAULT_SENT = false;
|
||||
|
||||
public static final String DEFAULT_PROTOCOL = "dubbo";
|
||||
public static final String REGISTRY_PROTOCOL = "registry";
|
||||
|
||||
public static final String DEFAULT_EXCHANGER = "header";
|
||||
public static final String $INVOKE = "$invoke";
|
||||
|
||||
public static final String DEFAULT_TRANSPORTER = "netty";
|
||||
public static final String $ECHO = "$echo";
|
||||
|
||||
public static final String DEFAULT_REMOTING_SERVER = "netty";
|
||||
public static final int DEFAULT_IO_THREADS = Runtime.getRuntime()
|
||||
.availableProcessors() + 1;
|
||||
|
||||
public static final String DEFAULT_REMOTING_CLIENT = "netty";
|
||||
public static final String DEFAULT_PROXY = "javassist";
|
||||
|
||||
public static final String DEFAULT_REMOTING_CODEC = "dubbo";
|
||||
public static final int DEFAULT_PAYLOAD = 8 * 1024 * 1024; // 8M
|
||||
|
||||
public static final String DEFAULT_REMOTING_SERIALIZATION = "hessian2";
|
||||
public static final String DEFAULT_CLUSTER = "failover";
|
||||
|
||||
public static final String DEFAULT_HTTP_SERVER = "servlet";
|
||||
public static final String DEFAULT_DIRECTORY = "dubbo";
|
||||
|
||||
public static final String DEFAULT_HTTP_CLIENT = "jdk";
|
||||
public static final String DEFAULT_LOADBALANCE = "random";
|
||||
|
||||
public static final String DEFAULT_HTTP_SERIALIZATION = "json";
|
||||
public static final String DEFAULT_PROTOCOL = "dubbo";
|
||||
|
||||
public static final String DEFAULT_CHARSET = "UTF-8";
|
||||
public static final String DEFAULT_EXCHANGER = "header";
|
||||
|
||||
public static final int DEFAULT_WEIGHT = 100;
|
||||
public static final String DEFAULT_TRANSPORTER = "netty";
|
||||
|
||||
public static final int DEFAULT_FORKS = 2;
|
||||
public static final String DEFAULT_REMOTING_SERVER = "netty";
|
||||
|
||||
public static final String DEFAULT_THREAD_NAME = "Dubbo";
|
||||
public static final String DEFAULT_REMOTING_CLIENT = "netty";
|
||||
|
||||
public static final int DEFAULT_THREADS = 200;
|
||||
public static final String DEFAULT_REMOTING_CODEC = "dubbo";
|
||||
|
||||
public static final int DEFAULT_QUEUES = 0;
|
||||
public static final String DEFAULT_REMOTING_SERIALIZATION = "hessian2";
|
||||
|
||||
public static final int DEFAULT_THREAD_ALIVE = 60 * 1000;
|
||||
public static final String DEFAULT_HTTP_SERVER = "servlet";
|
||||
|
||||
public static final int DEFAULT_CONNECTIONS = 0;
|
||||
public static final String DEFAULT_HTTP_CLIENT = "jdk";
|
||||
|
||||
public static final int DEFAULT_ACCEPTS = 0;
|
||||
public static final String DEFAULT_HTTP_SERIALIZATION = "json";
|
||||
|
||||
public static final int DEFAULT_IDLE_TIMEOUT = 600 * 1000;
|
||||
public static final String DEFAULT_CHARSET = "UTF-8";
|
||||
|
||||
public static final int DEFAULT_HEARTBEAT = 0;
|
||||
public static final int DEFAULT_WEIGHT = 100;
|
||||
|
||||
public static final int DEFAULT_TIMEOUT = 5000;
|
||||
public static final int DEFAULT_FORKS = 2;
|
||||
|
||||
public static final int DEFAULT_RETRIES = 2;
|
||||
public static final String DEFAULT_THREAD_NAME = "Dubbo";
|
||||
|
||||
public static final int DEFAULT_THREADS = 200;
|
||||
|
||||
public static final int DEFAULT_QUEUES = 0;
|
||||
|
||||
public static final int DEFAULT_THREAD_ALIVE = 60 * 1000;
|
||||
|
||||
public static final int DEFAULT_CONNECTIONS = 0;
|
||||
|
||||
public static final int DEFAULT_ACCEPTS = 0;
|
||||
|
||||
public static final int DEFAULT_IDLE_TIMEOUT = 600 * 1000;
|
||||
|
||||
public static final int DEFAULT_HEARTBEAT = 0;
|
||||
|
||||
public static final int DEFAULT_TIMEOUT = 5000;
|
||||
|
||||
public static final int DEFAULT_RETRIES = 2;
|
||||
|
||||
// default buffer size is 8k.
|
||||
public static final int DEFAULT_BUFFER_SIZE = 8 * 1024;
|
||||
|
||||
public static final int MAX_BUFFER_SIZE = 16 * 1024;
|
||||
|
||||
public static final int MIN_BUFFER_SIZE = 1 * 1024;
|
||||
public static final int DEFAULT_BUFFER_SIZE = 8 * 1024;
|
||||
|
||||
public static final String REMOVE_VALUE_PREFIX = "-";
|
||||
|
||||
public static final String HIDE_KEY_PREFIX = ".";
|
||||
|
||||
public static final String DEFAULT_KEY_PREFIX = "default.";
|
||||
|
||||
public static final String DEFAULT_KEY = "default";
|
||||
public static final int MAX_BUFFER_SIZE = 16 * 1024;
|
||||
|
||||
public static final int MIN_BUFFER_SIZE = 1 * 1024;
|
||||
|
||||
public static final String REMOVE_VALUE_PREFIX = "-";
|
||||
|
||||
public static final String HIDE_KEY_PREFIX = ".";
|
||||
|
||||
public static final String DEFAULT_KEY_PREFIX = "default.";
|
||||
|
||||
public static final String DEFAULT_KEY = "default";
|
||||
|
||||
public static final String LOADBALANCE_KEY = "loadbalance";
|
||||
|
||||
public static final String LOADBALANCE_KEY = "loadbalance";
|
||||
|
||||
// key for router type, for e.g., "script"/"file", corresponding to ScriptRouterFactory.NAME, FileRouterFactory.NAME
|
||||
public static final String ROUTER_KEY = "router";
|
||||
public static final String ROUTER_KEY = "router";
|
||||
|
||||
public static final String CLUSTER_KEY = "cluster";
|
||||
public static final String CLUSTER_KEY = "cluster";
|
||||
|
||||
public static final String REGISTRY_KEY = "registry";
|
||||
public static final String REGISTRY_KEY = "registry";
|
||||
|
||||
public static final String MONITOR_KEY = "monitor";
|
||||
public static final String MONITOR_KEY = "monitor";
|
||||
|
||||
public static final String DEFAULT_REGISTRY = "dubbo";
|
||||
public static final String DEFAULT_REGISTRY = "dubbo";
|
||||
|
||||
public static final String BACKUP_KEY = "backup";
|
||||
public static final String BACKUP_KEY = "backup";
|
||||
|
||||
public static final String DIRECTORY_KEY = "directory";
|
||||
public static final String DIRECTORY_KEY = "directory";
|
||||
|
||||
public static final String DEPRECATED_KEY = "deprecated";
|
||||
|
||||
public static final String ANYHOST_KEY = "anyhost";
|
||||
public static final String DEPRECATED_KEY = "deprecated";
|
||||
|
||||
public static final String ANYHOST = "0.0.0.0";
|
||||
public static final String ANYHOST_KEY = "anyhost";
|
||||
|
||||
public static final String APPLICATION_KEY = "application";
|
||||
public static final String ANYHOST = "0.0.0.0";
|
||||
|
||||
public static final String LOCAL_KEY = "local";
|
||||
public static final String APPLICATION_KEY = "application";
|
||||
|
||||
public static final String STUB_KEY = "stub";
|
||||
public static final String LOCAL_KEY = "local";
|
||||
|
||||
public static final String MOCK_KEY = "mock";
|
||||
public static final String STUB_KEY = "stub";
|
||||
|
||||
public static final String PROTOCOL_KEY = "protocol";
|
||||
public static final String MOCK_KEY = "mock";
|
||||
|
||||
public static final String PROXY_KEY = "proxy";
|
||||
public static final String PROTOCOL_KEY = "protocol";
|
||||
|
||||
public static final String WEIGHT_KEY = "weight";
|
||||
|
||||
public static final String FORKS_KEY = "forks";
|
||||
public static final String PROXY_KEY = "proxy";
|
||||
|
||||
public static final String DEFAULT_THREADPOOL = "fixed";
|
||||
public static final String WEIGHT_KEY = "weight";
|
||||
|
||||
public static final String DEFAULT_CLIENT_THREADPOOL = "cached";
|
||||
public static final String FORKS_KEY = "forks";
|
||||
|
||||
public static final String THREADPOOL_KEY = "threadpool";
|
||||
public static final String DEFAULT_THREADPOOL = "fixed";
|
||||
|
||||
public static final String THREAD_NAME_KEY = "threadname";
|
||||
public static final String DEFAULT_CLIENT_THREADPOOL = "cached";
|
||||
|
||||
public static final String IO_THREADS_KEY = "iothreads";
|
||||
public static final String THREADPOOL_KEY = "threadpool";
|
||||
|
||||
public static final String THREADS_KEY = "threads";
|
||||
public static final String THREAD_NAME_KEY = "threadname";
|
||||
|
||||
public static final String QUEUES_KEY = "queues";
|
||||
public static final String IO_THREADS_KEY = "iothreads";
|
||||
|
||||
public static final String THREAD_ALIVE_KEY = "threadalive";
|
||||
public static final String THREADS_KEY = "threads";
|
||||
|
||||
public static final String EXECUTES_KEY = "executes";
|
||||
public static final String QUEUES_KEY = "queues";
|
||||
|
||||
public static final String BUFFER_KEY = "buffer";
|
||||
|
||||
public static final String PAYLOAD_KEY = "payload";
|
||||
public static final String THREAD_ALIVE_KEY = "threadalive";
|
||||
|
||||
public static final String REFERENCE_FILTER_KEY = "reference.filter";
|
||||
public static final String EXECUTES_KEY = "executes";
|
||||
|
||||
public static final String INVOKER_LISTENER_KEY = "invoker.listener";
|
||||
public static final String BUFFER_KEY = "buffer";
|
||||
|
||||
public static final String SERVICE_FILTER_KEY = "service.filter";
|
||||
public static final String PAYLOAD_KEY = "payload";
|
||||
|
||||
public static final String EXPORTER_LISTENER_KEY = "exporter.listener";
|
||||
public static final String REFERENCE_FILTER_KEY = "reference.filter";
|
||||
|
||||
public static final String ACCESS_LOG_KEY = "accesslog";
|
||||
public static final String INVOKER_LISTENER_KEY = "invoker.listener";
|
||||
|
||||
public static final String ACTIVES_KEY = "actives";
|
||||
public static final String SERVICE_FILTER_KEY = "service.filter";
|
||||
|
||||
public static final String CONNECTIONS_KEY = "connections";
|
||||
public static final String EXPORTER_LISTENER_KEY = "exporter.listener";
|
||||
|
||||
public static final String ACCEPTS_KEY = "accepts";
|
||||
|
||||
public static final String IDLE_TIMEOUT_KEY = "idle.timeout";
|
||||
public static final String ACCESS_LOG_KEY = "accesslog";
|
||||
|
||||
public static final String HEARTBEAT_KEY = "heartbeat";
|
||||
public static final String ACTIVES_KEY = "actives";
|
||||
|
||||
public static final String HEARTBEAT_TIMEOUT_KEY = "heartbeat.timeout";
|
||||
public static final String CONNECTIONS_KEY = "connections";
|
||||
|
||||
public static final String CONNECT_TIMEOUT_KEY = "connect.timeout";
|
||||
public static final String ACCEPTS_KEY = "accepts";
|
||||
|
||||
public static final String TIMEOUT_KEY = "timeout";
|
||||
public static final String IDLE_TIMEOUT_KEY = "idle.timeout";
|
||||
|
||||
public static final String RETRIES_KEY = "retries";
|
||||
|
||||
public static final String PROMPT_KEY = "prompt";
|
||||
public static final String HEARTBEAT_KEY = "heartbeat";
|
||||
|
||||
public static final String DEFAULT_PROMPT = "dubbo>";
|
||||
|
||||
public static final String CODEC_KEY = "codec";
|
||||
public static final String DOWNSTREAM_CODEC_KEY = "codec.downstream";
|
||||
public static final String HEARTBEAT_TIMEOUT_KEY = "heartbeat.timeout";
|
||||
|
||||
public static final String SERIALIZATION_KEY = "serialization";
|
||||
|
||||
public static final String EXCHANGER_KEY = "exchanger";
|
||||
public static final String CONNECT_TIMEOUT_KEY = "connect.timeout";
|
||||
|
||||
public static final String TRANSPORTER_KEY = "transporter";
|
||||
public static final String TIMEOUT_KEY = "timeout";
|
||||
|
||||
public static final String SERVER_KEY = "server";
|
||||
public static final String RETRIES_KEY = "retries";
|
||||
|
||||
public static final String CLIENT_KEY = "client";
|
||||
public static final String PROMPT_KEY = "prompt";
|
||||
|
||||
public static final String ASYNC_KEY = "async";
|
||||
public static final String DEFAULT_PROMPT = "dubbo>";
|
||||
|
||||
public static final String TOKEN_KEY = "token";
|
||||
public static final String CODEC_KEY = "codec";
|
||||
public static final String DOWNSTREAM_CODEC_KEY = "codec.downstream";
|
||||
|
||||
public static final String METHODS_KEY = "methods";
|
||||
public static final String SERIALIZATION_KEY = "serialization";
|
||||
|
||||
public static final String CHARSET_KEY = "charset";
|
||||
public static final String EXCHANGER_KEY = "exchanger";
|
||||
|
||||
public static final String RECONNECT_KEY = "reconnect";
|
||||
public static final String TRANSPORTER_KEY = "transporter";
|
||||
|
||||
public static final String SEND_RECONNECT_KEY = "send.reconnect";
|
||||
|
||||
public static final int DEFAULT_RECONNECT_PERIOD = 2000;
|
||||
|
||||
public static final String SHUTDOWN_TIMEOUT_KEY = "shutdown.timeout";
|
||||
|
||||
public static final int DEFAULT_SHUTDOWN_TIMEOUT = 1000 * 60 * 5;
|
||||
public static final String SERVER_KEY = "server";
|
||||
|
||||
public static final String TIMESTAMP_KEY = "timestamp";
|
||||
public static final String CLIENT_KEY = "client";
|
||||
|
||||
public static final String CHECK_KEY = "check";
|
||||
public static final String ASYNC_KEY = "async";
|
||||
|
||||
public static final String REGISTER_KEY = "register";
|
||||
public static final String TOKEN_KEY = "token";
|
||||
|
||||
public static final String GROUP_KEY = "group";
|
||||
public static final String METHODS_KEY = "methods";
|
||||
|
||||
public static final String PATH_KEY = "path";
|
||||
|
||||
public static final String INTERFACE_KEY = "interface";
|
||||
|
||||
public static final String GENERIC_KEY = "generic";
|
||||
|
||||
public static final String FILE_KEY = "file";
|
||||
public static final String CHARSET_KEY = "charset";
|
||||
|
||||
public static final String WAIT_KEY = "wait";
|
||||
|
||||
public static final String ADMIN_KEY = "admin";
|
||||
public static final String RECONNECT_KEY = "reconnect";
|
||||
|
||||
public static final String VERSION_KEY = "version";
|
||||
public static final String SEND_RECONNECT_KEY = "send.reconnect";
|
||||
|
||||
public static final String REVISION_KEY = "revision";
|
||||
public static final int DEFAULT_RECONNECT_PERIOD = 2000;
|
||||
|
||||
public static final String DUBBO_VERSION_KEY = "dubbo";
|
||||
public static final String SHUTDOWN_TIMEOUT_KEY = "shutdown.timeout";
|
||||
|
||||
public static final String HESSIAN_VERSION_KEY = "hessian.version";
|
||||
|
||||
public static final String DISPATHER_KEY = "dispather";
|
||||
|
||||
public static final String CHANNEL_HANDLER_KEY = "channel.handler";
|
||||
|
||||
public static final String DEFAULT_CHANNEL_HANDLER = "default";
|
||||
|
||||
public static final String ANY_VALUE = "*";
|
||||
public static final int DEFAULT_SHUTDOWN_TIMEOUT = 1000 * 60 * 5;
|
||||
|
||||
public static final String COMMA_SEPARATOR = ",";
|
||||
public static final String TIMESTAMP_KEY = "timestamp";
|
||||
|
||||
public static final Pattern COMMA_SPLIT_PATTERN = Pattern.compile("\\s*[,]+\\s*");
|
||||
public static final String CHECK_KEY = "check";
|
||||
|
||||
public static final String REGISTRY_SEPARATOR = "|";
|
||||
public static final String REGISTER_KEY = "register";
|
||||
|
||||
public static final Pattern REGISTRY_SPLIT_PATTERN = Pattern.compile("\\s*[|]+\\s*");
|
||||
public static final String GROUP_KEY = "group";
|
||||
|
||||
public static final String SEMICOLON_SEPARATOR = ";";
|
||||
public static final String PATH_KEY = "path";
|
||||
|
||||
public static final Pattern SEMICOLON_SPLIT_PATTERN = Pattern.compile("\\s*[;]+\\s*");
|
||||
|
||||
public static final String CONNECT_QUEUE_CAPACITY = "connect.queue.capacity";
|
||||
|
||||
public static final String CONNECT_QUEUE_WARNING_SIZE = "connect.queue.warning.size";
|
||||
|
||||
public static final int DEFAULT_CONNECT_QUEUE_WARNING_SIZE = 1000;
|
||||
|
||||
public static final String CHANNEL_ATTRIBUTE_READONLY_KEY = "channel.readonly";
|
||||
|
||||
public static final String CHANNEL_READONLYEVENT_SENT_KEY = "channel.readonly.sent";
|
||||
|
||||
public static final String CHANNEL_SEND_READONLYEVENT_KEY = "channel.readonly.send";
|
||||
public static final String INTERFACE_KEY = "interface";
|
||||
|
||||
public static final String SUBSCRIBE_PROTOCOL = "subscribe";
|
||||
public static final String GENERIC_KEY = "generic";
|
||||
|
||||
public static final String EMPTY_PROTOCOL = "empty";
|
||||
public static final String FILE_KEY = "file";
|
||||
|
||||
public static final String ROUTE_PROTOCOL = "route";
|
||||
|
||||
public static final String MOCK_PROTOCOL = "mock";
|
||||
|
||||
public static final String RETURN_PREFIX = "return ";
|
||||
public static final String THROW_PREFIX = "throw";
|
||||
|
||||
public static final String FAIL_PREFIX = "fail:";
|
||||
|
||||
public static final String FORCE_PREFIX = "force:";
|
||||
public static final String WAIT_KEY = "wait";
|
||||
|
||||
public static final String MERGER_KEY = "merger";
|
||||
|
||||
public static final String TPS_MAX_KEY = "tps.max";
|
||||
public static final String ADMIN_KEY = "admin";
|
||||
|
||||
public static final String VERSION_KEY = "version";
|
||||
|
||||
public static final String REVISION_KEY = "revision";
|
||||
|
||||
public static final String DUBBO_VERSION_KEY = "dubbo";
|
||||
|
||||
public static final String HESSIAN_VERSION_KEY = "hessian.version";
|
||||
|
||||
public static final String DISPATHER_KEY = "dispather";
|
||||
|
||||
public static final String CHANNEL_HANDLER_KEY = "channel.handler";
|
||||
|
||||
public static final String DEFAULT_CHANNEL_HANDLER = "default";
|
||||
|
||||
public static final String ANY_VALUE = "*";
|
||||
|
||||
public static final String COMMA_SEPARATOR = ",";
|
||||
|
||||
public static final Pattern COMMA_SPLIT_PATTERN = Pattern
|
||||
.compile("\\s*[,]+\\s*");
|
||||
|
||||
public final static String PATH_SEPARATOR = "/";
|
||||
|
||||
public static final String REGISTRY_SEPARATOR = "|";
|
||||
|
||||
public static final Pattern REGISTRY_SPLIT_PATTERN = Pattern
|
||||
.compile("\\s*[|]+\\s*");
|
||||
|
||||
public static final String SEMICOLON_SEPARATOR = ";";
|
||||
|
||||
public static final Pattern SEMICOLON_SPLIT_PATTERN = Pattern
|
||||
.compile("\\s*[;]+\\s*");
|
||||
|
||||
public static final String CONNECT_QUEUE_CAPACITY = "connect.queue.capacity";
|
||||
|
||||
public static final String CONNECT_QUEUE_WARNING_SIZE = "connect.queue.warning.size";
|
||||
|
||||
public static final int DEFAULT_CONNECT_QUEUE_WARNING_SIZE = 1000;
|
||||
|
||||
public static final String CHANNEL_ATTRIBUTE_READONLY_KEY = "channel.readonly";
|
||||
|
||||
public static final String CHANNEL_READONLYEVENT_SENT_KEY = "channel.readonly.sent";
|
||||
|
||||
public static final String CHANNEL_SEND_READONLYEVENT_KEY = "channel.readonly.send";
|
||||
|
||||
public static final String SUBSCRIBE_PROTOCOL = "subscribe";
|
||||
|
||||
public static final String EMPTY_PROTOCOL = "empty";
|
||||
|
||||
public static final String ROUTE_PROTOCOL = "route";
|
||||
|
||||
public static final String MOCK_PROTOCOL = "mock";
|
||||
|
||||
public static final String RETURN_PREFIX = "return ";
|
||||
public static final String THROW_PREFIX = "throw";
|
||||
|
||||
public static final String FAIL_PREFIX = "fail:";
|
||||
|
||||
public static final String FORCE_PREFIX = "force:";
|
||||
|
||||
public static final String MERGER_KEY = "merger";
|
||||
|
||||
public static final String TPS_MAX_KEY = "tps.max";
|
||||
|
||||
/**
|
||||
* 集群时是否排除非available的invoker
|
||||
*/
|
||||
public static final String CLUSTER_AVAILABLE_CHECK_KEY = "cluster.availablecheck";
|
||||
|
||||
public static final String CLUSTER_AVAILABLE_CHECK_KEY = "cluster.availablecheck";
|
||||
|
||||
/**
|
||||
*/
|
||||
public static final boolean DEFAULT_CLUSTER_AVAILABLE_CHECK = true;
|
||||
|
||||
public static final boolean DEFAULT_CLUSTER_AVAILABLE_CHECK = true;
|
||||
|
||||
/**
|
||||
* 集群时是否启用sticky策略
|
||||
*/
|
||||
public static final String CLUSTER_STICKY_KEY = "sticky";
|
||||
|
||||
public static final String CLUSTER_STICKY_KEY = "sticky";
|
||||
|
||||
/**
|
||||
* sticky默认值.
|
||||
*/
|
||||
public static final boolean DEFAULT_CLUSTER_STICKY = false;
|
||||
|
||||
public static final boolean DEFAULT_CLUSTER_STICKY = false;
|
||||
|
||||
/**
|
||||
* 创建client时,是否先要建立连接。
|
||||
*/
|
||||
public static final String LAZY_CONNECT_KEY = "lazy";
|
||||
|
||||
public static final String LAZY_CONNECT_KEY = "lazy";
|
||||
|
||||
/**
|
||||
* lazy连接的初始状态是连接状态还是非连接状态?
|
||||
*/
|
||||
public static final String LAZY_CONNECT_INITIAL_STATE_KEY = "connect.lazy.initial.state";
|
||||
|
||||
public static final String LAZY_CONNECT_INITIAL_STATE_KEY = "connect.lazy.initial.state";
|
||||
|
||||
/**
|
||||
* lazy连接的初始状态默认是连接状态.
|
||||
*/
|
||||
public static final boolean DEFAULT_LAZY_CONNECT_INITIAL_STATE = true;
|
||||
|
||||
|
||||
/**
|
||||
* 注册中心是否同步存储文件,默认异步
|
||||
*/
|
||||
public static final String REGISTRY_FILESAVE_SYNC_KEY = "save.file";
|
||||
public static final String REGISTRY_FILESAVE_SYNC_KEY = "save.file";
|
||||
|
||||
/**
|
||||
* 注册中心失败事件重试事件
|
||||
*/
|
||||
public static final String REGISTRY_RETRY_PERIOD_KEY = "retry.period";
|
||||
|
||||
/**
|
||||
* 重试周期
|
||||
*/
|
||||
public static final int DEFAULT_REGISTRY_RETRY_PERIOD = 5 * 1000;
|
||||
|
||||
/**
|
||||
*注册中心失败事件重试事件
|
||||
* 注册中心自动重连时间
|
||||
*/
|
||||
public static final String REGISTRY_RETRY_PERIOD_KEY = "retry.period";
|
||||
|
||||
/**
|
||||
*注册中心自动重连时间
|
||||
*/
|
||||
public static final String REGISTRY_RECONNECT_PERIOD_KEY = "reconnect.period";
|
||||
|
||||
public static final String REGISTRY_RECONNECT_PERIOD_KEY = "reconnect.period";
|
||||
|
||||
public static final int DEFAULT_REGISTRY_RECONNECT_PERIOD = 3 * 1000;
|
||||
|
||||
/**
|
||||
* 注册中心导出URL参数的KEY
|
||||
*/
|
||||
public static final String EXPORT_KEY = "export";
|
||||
|
||||
public static final String EXPORT_KEY = "export";
|
||||
|
||||
/**
|
||||
* 注册中心引用URL参数的KEY
|
||||
*/
|
||||
public static final String REFER_KEY = "refer";
|
||||
|
||||
public static final String REFER_KEY = "refer";
|
||||
|
||||
/**
|
||||
* callback inst id
|
||||
*/
|
||||
public static final String CALLBACK_SERVICE_KEY = "callback.service.instid";
|
||||
|
||||
/**
|
||||
* 每个客户端同一个接口 callback服务实例的限制
|
||||
*/
|
||||
public static final String CALLBACK_INSTANCES_LIMIT_KEY = "callbacks";
|
||||
|
||||
/**
|
||||
* 每个客户端同一个接口 callback服务实例的限制
|
||||
*/
|
||||
public static final int DEFAULT_CALLBACK_INSTANCES = 1;
|
||||
|
||||
public static final String CALLBACK_SERVICE_PROXY_KEY = "callback.service.proxy";
|
||||
|
||||
public static final String IS_CALLBACK_SERVICE = "is_callback_service";
|
||||
|
||||
/**
|
||||
* channel中callback的invokers
|
||||
*/
|
||||
public static final String CHANNEL_CALLBACK_KEY = "channel.callback.invokers.key";
|
||||
public static final String CALLBACK_SERVICE_KEY = "callback.service.instid";
|
||||
|
||||
/**
|
||||
* 每个客户端同一个接口 callback服务实例的限制
|
||||
*/
|
||||
public static final String CALLBACK_INSTANCES_LIMIT_KEY = "callbacks";
|
||||
|
||||
/**
|
||||
* 每个客户端同一个接口 callback服务实例的限制
|
||||
*/
|
||||
public static final int DEFAULT_CALLBACK_INSTANCES = 1;
|
||||
|
||||
public static final String CALLBACK_SERVICE_PROXY_KEY = "callback.service.proxy";
|
||||
|
||||
public static final String IS_CALLBACK_SERVICE = "is_callback_service";
|
||||
|
||||
/**
|
||||
* channel中callback的invokers
|
||||
*/
|
||||
public static final String CHANNEL_CALLBACK_KEY = "channel.callback.invokers.key";
|
||||
|
||||
@Deprecated
|
||||
public static final String SHUTDOWN_WAIT_SECONDS_KEY = "dubbo.service.shutdown.wait.seconds";
|
||||
|
||||
public static final String SHUTDOWN_WAIT_KEY = "dubbo.service.shutdown.wait";
|
||||
|
||||
public static final String IS_SERVER_KEY = "isserver";
|
||||
|
||||
@Deprecated
|
||||
public static final String SHUTDOWN_WAIT_SECONDS_KEY = "dubbo.service.shutdown.wait.seconds";
|
||||
|
||||
public static final String SHUTDOWN_WAIT_KEY = "dubbo.service.shutdown.wait";
|
||||
|
||||
public static final String IS_SERVER_KEY = "isserver";
|
||||
|
||||
/**
|
||||
* 默认值毫秒,避免重新计算.
|
||||
*/
|
||||
public static final int DEFAULT_SERVER_SHUTDOWN_TIMEOUT = 10000;
|
||||
|
||||
public static final String ON_CONNECT_KEY = "onconnect";
|
||||
|
||||
public static final String ON_DISCONNECT_KEY = "ondisconnect";
|
||||
public static final int DEFAULT_SERVER_SHUTDOWN_TIMEOUT = 10000;
|
||||
|
||||
public static final String RETURN_KEY = "return";
|
||||
public static final String ON_CONNECT_KEY = "onconnect";
|
||||
|
||||
public static final String ON_INVOKE_METHOD_KEY = "oninvoke.method";
|
||||
|
||||
public static final String ON_RETURN_METHOD_KEY = "onreturn.method";
|
||||
|
||||
public static final String ON_THROW_METHOD_KEY = "onthrow.method";
|
||||
|
||||
public static final String ON_INVOKE_INSTANCE_KEY = "oninvoke.instance";
|
||||
|
||||
public static final String ON_RETURN_INSTANCE_KEY = "onreturn.instance";
|
||||
|
||||
public static final String ON_THROW_INSTANCE_KEY = "onthrow.instance";
|
||||
|
||||
public static final String OVERRIDE_PROTOCOL = "override";
|
||||
|
||||
public static final String RULE_KEY = "rule";
|
||||
public static final String ON_DISCONNECT_KEY = "ondisconnect";
|
||||
|
||||
public static final String RETURN_KEY = "return";
|
||||
|
||||
public static final String ON_INVOKE_METHOD_KEY = "oninvoke.method";
|
||||
|
||||
public static final String ON_RETURN_METHOD_KEY = "onreturn.method";
|
||||
|
||||
public static final String ON_THROW_METHOD_KEY = "onthrow.method";
|
||||
|
||||
public static final String ON_INVOKE_INSTANCE_KEY = "oninvoke.instance";
|
||||
|
||||
public static final String ON_RETURN_INSTANCE_KEY = "onreturn.instance";
|
||||
|
||||
public static final String ON_THROW_INSTANCE_KEY = "onthrow.instance";
|
||||
|
||||
public static final String OVERRIDE_PROTOCOL = "override";
|
||||
|
||||
public static final String RULE_KEY = "rule";
|
||||
|
||||
public static final String TYPE_KEY = "type";
|
||||
|
||||
public static final String TYPE_KEY = "type";
|
||||
|
||||
// when ROUTER_KEY's value is set to ROUTER_TYPE_CLEAR, RegistryDirectory will clean all current routers
|
||||
public static final String ROUTER_TYPE_CLEAR = "clean";
|
||||
public static final String ROUTER_TYPE_CLEAR = "clean";
|
||||
|
||||
public static final String DEFAULT_SCRIPT_TYPE_KEY = "javascript";
|
||||
|
||||
public static final String STUB_EVENT_KEY = "dubbo.stub.event";
|
||||
|
||||
public static final boolean DEFAULT_STUB_EVENT = false;
|
||||
|
||||
public static final String STUB_EVENT_METHODS_KEY = "dubbo.stub.event.methods";
|
||||
|
||||
public static final String DEFAULT_SCRIPT_TYPE_KEY = "javascript";
|
||||
|
||||
public static final String STUB_EVENT_KEY = "dubbo.stub.event";
|
||||
|
||||
public static final boolean DEFAULT_STUB_EVENT = false;
|
||||
|
||||
public static final String STUB_EVENT_METHODS_KEY = "dubbo.stub.event.methods";
|
||||
|
||||
//invocation attachment属性中如果有此值,则选择mock invoker
|
||||
public static final String INVOCATION_NEED_MOCK = "invocation.need.mock";
|
||||
|
||||
/*private Constants(){
|
||||
}*/
|
||||
public static final String INVOCATION_NEED_MOCK = "invocation.need.mock";
|
||||
|
||||
}
|
||||
/*
|
||||
* private Constants(){ }
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@ public class Page {
|
|||
private final List<String> columns;
|
||||
|
||||
private final List<List<String>> rows;
|
||||
|
||||
public Page(String navigation) {
|
||||
this(navigation, (String) null, (String[]) null, (List<List<String>>) null);
|
||||
}
|
||||
|
||||
public Page(String navigation, String title,
|
||||
String column, String row) {
|
||||
|
|
|
|||
|
|
@ -51,14 +51,6 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
|
||||
private static final int DEFAULT_MULTICAST_PORT = 1234;
|
||||
|
||||
private static final String REGISTER = "register";
|
||||
|
||||
private static final String UNREGISTER = "unregister";
|
||||
|
||||
private static final String SUBSCRIBE = "subscribe";
|
||||
|
||||
private static final String UNSUBSCRIBE = "unsubscribe";
|
||||
|
||||
private final InetAddress mutilcastAddress;
|
||||
|
||||
private final MulticastSocket mutilcastSocket;
|
||||
|
|
@ -120,14 +112,14 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Receive multicast message: " + msg + " from " + remoteAddress);
|
||||
}
|
||||
if (msg.startsWith(REGISTER)) {
|
||||
URL url = URL.valueOf(msg.substring(REGISTER.length()).trim());
|
||||
if (msg.startsWith(Constants.REGISTER)) {
|
||||
URL url = URL.valueOf(msg.substring(Constants.REGISTER.length()).trim());
|
||||
registered(url);
|
||||
} else if (msg.startsWith(UNREGISTER)) {
|
||||
URL url = URL.valueOf(msg.substring(UNREGISTER.length()).trim());
|
||||
} else if (msg.startsWith(Constants.UNREGISTER)) {
|
||||
URL url = URL.valueOf(msg.substring(Constants.UNREGISTER.length()).trim());
|
||||
unregistered(url);
|
||||
} else if (msg.startsWith(SUBSCRIBE)) {
|
||||
URL url = URL.valueOf(msg.substring(SUBSCRIBE.length()).trim());
|
||||
} else if (msg.startsWith(Constants.SUBSCRIBE)) {
|
||||
URL url = URL.valueOf(msg.substring(Constants.SUBSCRIBE.length()).trim());
|
||||
List<URL> urls = lookup(url);
|
||||
if (urls != null && urls.size() > 0) {
|
||||
for (URL u : urls) {
|
||||
|
|
@ -135,9 +127,9 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
? remoteAddress.getAddress().getHostAddress() : url.getIp();
|
||||
if (url.getParameter("unicast", true) // 消费者的机器是否只有一个进程
|
||||
&& ! NetUtils.getLocalHost().equals(host)) { // 同机器多进程不能用unicast单播信息,否则只会有一个进程收到信息
|
||||
unicast(REGISTER + " " + u.toFullString(), host);
|
||||
unicast(Constants.REGISTER + " " + u.toFullString(), host);
|
||||
} else {
|
||||
broadcast(REGISTER + " " + u.toFullString());
|
||||
broadcast(Constants.REGISTER + " " + u.toFullString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -172,11 +164,11 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
}
|
||||
|
||||
protected void doRegister(URL url) {
|
||||
broadcast(REGISTER + " " + url.toFullString());
|
||||
broadcast(Constants.REGISTER + " " + url.toFullString());
|
||||
}
|
||||
|
||||
protected void doUnregister(URL url) {
|
||||
broadcast(UNREGISTER + " " + url.toFullString());
|
||||
broadcast(Constants.UNREGISTER + " " + url.toFullString());
|
||||
}
|
||||
|
||||
protected void doSubscribe(URL url, NotifyListener listener) {
|
||||
|
|
@ -184,7 +176,7 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
&& url.getParameter(Constants.REGISTER_KEY, true)) {
|
||||
register(url, null);
|
||||
}
|
||||
broadcast(SUBSCRIBE + " " + url.toFullString());
|
||||
broadcast(Constants.SUBSCRIBE + " " + url.toFullString());
|
||||
synchronized (listener) {
|
||||
try {
|
||||
listener.wait(url.getParameter(Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT));
|
||||
|
|
@ -198,7 +190,7 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
&& url.getParameter(Constants.REGISTER_KEY, true)) {
|
||||
unregister(url, null);
|
||||
}
|
||||
broadcast(UNSUBSCRIBE + " " + url.toFullString());
|
||||
broadcast(Constants.UNSUBSCRIBE + " " + url.toFullString());
|
||||
}
|
||||
|
||||
public boolean isAvailable() {
|
||||
|
|
@ -231,12 +223,10 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
}
|
||||
urls.add(url.toFullString());
|
||||
List<URL> list = toList(urls);
|
||||
if (list != null && list.size() > 0) {
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
synchronized (listener) {
|
||||
listener.notify();
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
synchronized (listener) {
|
||||
listener.notify();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -253,10 +243,8 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
urls.remove(url.toFullString());
|
||||
}
|
||||
List<URL> list = toList(urls);
|
||||
if (list != null && list.size() > 0) {
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -264,9 +252,7 @@ public class MulticastRegistry extends FailbackRegistry {
|
|||
|
||||
protected void subscribed(URL url, NotifyListener listener) {
|
||||
List<URL> urls = lookup(url);
|
||||
if (urls != null && urls.size() > 0) {
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
|
||||
private List<URL> toList(Set<String> urls) {
|
||||
|
|
|
|||
|
|
@ -128,10 +128,8 @@ public class SimpleRegistryService extends FailbackRegistry {
|
|||
URL subscribe = URL.valueOf(key);
|
||||
if (UrlUtils.isMatch(subscribe, url)) {
|
||||
List<URL> list = lookup(subscribe);
|
||||
if (list != null && list.size() > 0) {
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -143,10 +141,8 @@ public class SimpleRegistryService extends FailbackRegistry {
|
|||
URL subscribe = URL.valueOf(key);
|
||||
if (UrlUtils.isMatch(subscribe, url)) {
|
||||
List<URL> list = lookup(subscribe);
|
||||
if (list != null && list.size() > 0) {
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
notify(subscribe, listener, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -154,9 +150,7 @@ public class SimpleRegistryService extends FailbackRegistry {
|
|||
|
||||
protected void subscribed(URL url, NotifyListener listener) {
|
||||
List<URL> urls = lookup(url);
|
||||
if (urls != null && urls.size() > 0) {
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
|
||||
public void doRegister(URL url) {
|
||||
|
|
|
|||
|
|
@ -59,14 +59,8 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
|
||||
private final static int DEFAULT_SESSION_TIMEOUT = 60 * 1000;
|
||||
|
||||
private final static String SEPARATOR = "/";
|
||||
|
||||
private final static String DEFAULT_ROOT = "dubbo";
|
||||
|
||||
private final static String PROVIDERS = "providers";
|
||||
|
||||
private final static String CONSUMERS = "consumers";
|
||||
|
||||
private final String root;
|
||||
|
||||
private final boolean auth;
|
||||
|
|
@ -89,8 +83,8 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
&& url.getPassword() != null && url.getPassword().length() > 0;
|
||||
this.acl = auth ? Ids.CREATOR_ALL_ACL : Ids.OPEN_ACL_UNSAFE;
|
||||
String group = url.getParameter(Constants.GROUP_KEY, DEFAULT_ROOT);
|
||||
if (! group.startsWith(SEPARATOR)) {
|
||||
group = SEPARATOR + group;
|
||||
if (! group.startsWith(Constants.PATH_SEPARATOR)) {
|
||||
group = Constants.PATH_SEPARATOR + group;
|
||||
}
|
||||
this.root = group;
|
||||
initZookeeper();
|
||||
|
|
@ -214,12 +208,12 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
}
|
||||
} else {
|
||||
String dir = toRootDir();
|
||||
String action = PROVIDERS;
|
||||
String action = Constants.PROVIDERS;
|
||||
String service = path;
|
||||
if (service.startsWith(dir)) {
|
||||
service = service.substring(dir.length());
|
||||
}
|
||||
int i = service.indexOf(SEPARATOR);
|
||||
int i = service.indexOf(Constants.PATH_SEPARATOR);
|
||||
if (i >= 0) {
|
||||
action = service.substring(i + 1);
|
||||
service = service.substring(0, i);
|
||||
|
|
@ -232,23 +226,21 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
List<String> notifies = children;
|
||||
if (subscribe.getParameter(Constants.ADMIN_KEY, false)) {
|
||||
if (adminChildren == null) {
|
||||
adminChildren = getChildren(path.substring(0, path.lastIndexOf(SEPARATOR) + 1) + (CONSUMERS.equals(action) ? PROVIDERS : CONSUMERS));
|
||||
adminChildren = getChildren(path.substring(0, path.lastIndexOf(Constants.PATH_SEPARATOR) + 1) + (Constants.CONSUMERS.equals(action) ? Constants.PROVIDERS : Constants.CONSUMERS));
|
||||
adminChildren.addAll(children);
|
||||
}
|
||||
notifies = adminChildren;
|
||||
} else if (CONSUMERS.equals(action)) {
|
||||
} else if (Constants.CONSUMERS.equals(action)) {
|
||||
continue;
|
||||
}
|
||||
String subscribeService = subscribe.getServiceInterface();
|
||||
if (service.equals(subscribeService)) {
|
||||
List<URL> list = toUrls(subscribe, notifies);
|
||||
if (list != null && list.size() > 0) {
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Zookeeper service changed, service: " + service + ", urls: " + list + ", zookeeper: " + getUrl());
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
ZookeeperRegistry.this.notify(subscribe, listener, list);
|
||||
}
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("Zookeeper service changed, service: " + service + ", urls: " + list + ", zookeeper: " + getUrl());
|
||||
}
|
||||
for (NotifyListener listener : entry.getValue()) {
|
||||
ZookeeperRegistry.this.notify(subscribe, listener, list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -288,7 +280,7 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
protected void doRegister(URL url) {
|
||||
try {
|
||||
String root = toRootPath();
|
||||
if (root != null && root.length() > 0 && ! SEPARATOR.equals(root)
|
||||
if (root != null && root.length() > 0 && ! Constants.PATH_SEPARATOR.equals(root)
|
||||
&& ! exists(root)) {
|
||||
try {
|
||||
zookeeper.create(root, new byte[0], acl, CreateMode.PERSISTENT);
|
||||
|
|
@ -371,9 +363,7 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
providers.addAll(consumers);
|
||||
}
|
||||
List<URL> urls = toUrls(url, providers);
|
||||
if (urls != null && urls.size() > 0) {
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
notify(url, listener, urls);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
throw new RpcException("Failed to subscribe " + url + " to zookeeper " + getUrl() + ", cause: " + e.getMessage(), e);
|
||||
|
|
@ -430,10 +420,10 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
}
|
||||
|
||||
private String toRootDir() {
|
||||
if (root.equals(SEPARATOR)) {
|
||||
if (root.equals(Constants.PATH_SEPARATOR)) {
|
||||
return root;
|
||||
}
|
||||
return root + SEPARATOR;
|
||||
return root + Constants.PATH_SEPARATOR;
|
||||
}
|
||||
|
||||
private String toRootPath() {
|
||||
|
|
@ -457,15 +447,15 @@ public class ZookeeperRegistry extends FailbackRegistry {
|
|||
}
|
||||
|
||||
private String toRegisterPath(URL url) {
|
||||
return toServicePath(url) + SEPARATOR + PROVIDERS;
|
||||
return toServicePath(url) + Constants.PATH_SEPARATOR + Constants.PROVIDERS;
|
||||
}
|
||||
|
||||
private String toSubscribePath(URL url) {
|
||||
return toServicePath(url) + SEPARATOR + CONSUMERS;
|
||||
return toServicePath(url) + Constants.PATH_SEPARATOR + Constants.CONSUMERS;
|
||||
}
|
||||
|
||||
private String toProviderPath(URL url) {
|
||||
return toCategoryPath(url) + SEPARATOR + URL.encode(url.toFullString());
|
||||
return toCategoryPath(url) + Constants.PATH_SEPARATOR + URL.encode(url.toFullString());
|
||||
}
|
||||
|
||||
private List<URL> toUrls(URL consumer, List<String> providers) throws KeeperException, InterruptedException {
|
||||
|
|
|
|||
|
|
@ -40,9 +40,6 @@ import com.alibaba.dubbo.registry.NotifyListener;
|
|||
*/
|
||||
public abstract class FailbackRegistry extends AbstractRegistry {
|
||||
|
||||
// 重试周期
|
||||
private static final int DEFAULT_RETRY_PERIOD = 5 * 1000;
|
||||
|
||||
// 定时任务执行器
|
||||
private final ScheduledExecutorService retryExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("DubboRegistryFailedRetryTimer", true));
|
||||
|
||||
|
|
@ -61,7 +58,7 @@ public abstract class FailbackRegistry extends AbstractRegistry {
|
|||
|
||||
public FailbackRegistry(URL url) {
|
||||
super(url);
|
||||
int retryPeriod = url.getParameter(Constants.REGISTRY_RETRY_PERIOD_KEY, DEFAULT_RETRY_PERIOD);
|
||||
int retryPeriod = url.getParameter(Constants.REGISTRY_RETRY_PERIOD_KEY, Constants.DEFAULT_REGISTRY_RETRY_PERIOD);
|
||||
this.retryFuture = retryExecutor.scheduleWithFixedDelay(new Runnable() {
|
||||
public void run() {
|
||||
// 检测并连接注册中心
|
||||
|
|
@ -239,7 +236,7 @@ public abstract class FailbackRegistry extends AbstractRegistry {
|
|||
removeFailedRegistered(url);
|
||||
} catch (Exception t) {
|
||||
if (getUrl().getParameter(Constants.CHECK_KEY, true)) { // 如果开启了启动时检测,则直接抛出异常
|
||||
throw new IllegalStateException("Failed to uregister " + url + ", cause: " + t.getMessage(), t);
|
||||
throw new IllegalStateException("Failed to unregister " + url + ", cause: " + t.getMessage(), t);
|
||||
}
|
||||
// 否则,将失败的取消注册请求记录到失败列表,定时重试
|
||||
failedUnregistered.add(url.toFullString());
|
||||
|
|
@ -320,7 +317,8 @@ public abstract class FailbackRegistry extends AbstractRegistry {
|
|||
if (listener == null) {
|
||||
throw new IllegalArgumentException("notify listener == null");
|
||||
}
|
||||
if (urls == null || urls.size() ==0) {
|
||||
if ((urls == null || urls.size() == 0)
|
||||
&& ! url.getParameter(Constants.ADMIN_KEY, false)) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
|
|
|
|||
Loading…
Reference in New Issue