blob: e5684f38be0094709dc565d1ae810de010f946c5 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.config;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.config.support.Parameter;
import java.util.Map;
/**
* RegistryConfig
*
* @export
*/
public class RegistryConfig extends AbstractConfig {
public static final String NO_AVAILABLE = "N/A";
private static final long serialVersionUID = 5508512956753757169L;
// register center address
private String address;
// username to login register center
private String username;
// password to login register center
private String password;
// default port for register center
private Integer port;
// protocol for register center
private String protocol;
// client impl
private String transporter;
private String server;
private String client;
private String cluster;
private String group;
private String version;
// request timeout in milliseconds for register center
private Integer timeout;
// session timeout in milliseconds for register center
private Integer session;
// file for saving register center dynamic list
private String file;
// wait time before stop
private Integer wait;
// whether to check if register center is available when boot up
private Boolean check;
// whether to allow dynamic service to register on the register center
private Boolean dynamic;
// whether to export service on the register center
private Boolean register;
// whether allow to subscribe service on the register center
private Boolean subscribe;
// customized parameters
private Map<String, String> parameters;
// if it's default
private Boolean isDefault;
public RegistryConfig() {
}
public RegistryConfig(String address) {
setAddress(address);
}
public RegistryConfig(String address, String protocol) {
setAddress(address);
setProtocol(protocol);
}
public String getProtocol() {
return protocol;
}
public void setProtocol(String protocol) {
checkName("protocol", protocol);
this.protocol = protocol;
}
@Parameter(excluded = true)
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getPort() {
return port;
}
public void setPort(Integer port) {
this.port = port;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
checkName("username", username);
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
checkLength("password", password);
this.password = password;
}
/**
* @return wait
* @see com.alibaba.dubbo.config.ProviderConfig#getWait()
* @deprecated
*/
@Deprecated
public Integer getWait() {
return wait;
}
/**
* @param wait
* @see com.alibaba.dubbo.config.ProviderConfig#setWait(Integer)
* @deprecated
*/
@Deprecated
public void setWait(Integer wait) {
this.wait = wait;
if (wait != null && wait > 0)
System.setProperty(Constants.SHUTDOWN_WAIT_KEY, String.valueOf(wait));
}
public Boolean isCheck() {
return check;
}
public void setCheck(Boolean check) {
this.check = check;
}
public String getFile() {
return file;
}
public void setFile(String file) {
checkPathLength("file", file);
this.file = file;
}
/**
* @return transport
* @see #getTransporter()
* @deprecated
*/
@Deprecated
@Parameter(excluded = true)
public String getTransport() {
return getTransporter();
}
/**
* @param transport
* @see #setTransporter(String)
* @deprecated
*/
@Deprecated
public void setTransport(String transport) {
setTransporter(transport);
}
public String getTransporter() {
return transporter;
}
public void setTransporter(String transporter) {
checkName("transporter", transporter);
/*if(transporter != null && transporter.length() > 0 && ! ExtensionLoader.getExtensionLoader(Transporter.class).hasExtension(transporter)){
throw new IllegalStateException("No such transporter type : " + transporter);
}*/
this.transporter = transporter;
}
public String getServer() {
return server;
}
public void setServer(String server) {
checkName("server", server);
/*if(server != null && server.length() > 0 && ! ExtensionLoader.getExtensionLoader(Transporter.class).hasExtension(server)){
throw new IllegalStateException("No such server type : " + server);
}*/
this.server = server;
}
public String getClient() {
return client;
}
public void setClient(String client) {
checkName("client", client);
/*if(client != null && client.length() > 0 && ! ExtensionLoader.getExtensionLoader(Transporter.class).hasExtension(client)){
throw new IllegalStateException("No such client type : " + client);
}*/
this.client = client;
}
public Integer getTimeout() {
return timeout;
}
public void setTimeout(Integer timeout) {
this.timeout = timeout;
}
public Integer getSession() {
return session;
}
public void setSession(Integer session) {
this.session = session;
}
public Boolean isDynamic() {
return dynamic;
}
public void setDynamic(Boolean dynamic) {
this.dynamic = dynamic;
}
public Boolean isRegister() {
return register;
}
public void setRegister(Boolean register) {
this.register = register;
}
public Boolean isSubscribe() {
return subscribe;
}
public void setSubscribe(Boolean subscribe) {
this.subscribe = subscribe;
}
public String getCluster() {
return cluster;
}
public void setCluster(String cluster) {
this.cluster = cluster;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public Map<String, String> getParameters() {
return parameters;
}
public void setParameters(Map<String, String> parameters) {
checkParameterName(parameters);
this.parameters = parameters;
}
public Boolean isDefault() {
return isDefault;
}
public void setDefault(Boolean isDefault) {
this.isDefault = isDefault;
}
}