
com.alibaba.dubbo.config.ProviderConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dubbo2 Show documentation
Show all versions of dubbo2 Show documentation
The all in one project of dubbo2
The newest version!
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed 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 java.util.Arrays;
import com.alibaba.dubbo.common.Constants;
import com.alibaba.dubbo.common.status.StatusChecker;
import com.alibaba.dubbo.common.threadpool.ThreadPool;
import com.alibaba.dubbo.config.support.Parameter;
import com.alibaba.dubbo.remoting.Dispatcher;
import com.alibaba.dubbo.remoting.Transporter;
import com.alibaba.dubbo.remoting.exchange.Exchanger;
import com.alibaba.dubbo.remoting.telnet.TelnetHandler;
/**
* ProviderConfig
*
* @see com.alibaba.dubbo.config.ProtocolConfig
* @see com.alibaba.dubbo.config.ServiceConfig
* @author william.liangf
* @export
*/
public class ProviderConfig extends AbstractServiceConfig {
private static final long serialVersionUID = 6913423882496634749L;
// ======== 协议缺省值,当协议属性未设置时使用该缺省值替代 ========
// 服务IP地址(多网卡时使用)
private String host;
// 服务端口
private Integer port;
// 上下
private String contextpath;
// 线程池类型
private String threadpool;
// 线程池大小(固定大小)
private Integer threads;
// IO线程池大小(固定大小)
private Integer iothreads;
// 线程池队列大小
private Integer queues;
// 最大接收连接数
private Integer accepts;
// 协议编码
private String codec;
// 序列化方式
private String serialization;
// 字符集
private String charset;
// 最大请求数据长度
private Integer payload;
// 缓存区大小
private Integer buffer;
// 网络传输方式
private String transporter;
// 信息交换方式
private String exchanger;
// 信息线程模型派发方式
private String dispatcher;
// 对称网络组网方式
private String networker;
// 服务器端实现
private String server;
// 客户端实现
private String client;
// 支持的telnet命令,多个命令用逗号分隔
private String telnet;
// 命令行提示符
private String prompt;
// status检查
private String status;
// 停止时等候时间
private Integer wait;
// 是否为缺省
private Boolean isDefault;
@Deprecated
public void setProtocol(String protocol) {
this.protocols = Arrays.asList(new ProtocolConfig[] {new ProtocolConfig(protocol)});
}
@Parameter(excluded = true)
public Boolean isDefault() {
return isDefault;
}
@Deprecated
public void setDefault(Boolean isDefault) {
this.isDefault = isDefault;
}
@Parameter(excluded = true)
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
@Parameter(excluded = true)
public Integer getPort() {
return port;
}
@Deprecated
public void setPort(Integer port) {
this.port = port;
}
@Deprecated
@Parameter(excluded = true)
public String getPath() {
return getContextpath();
}
@Deprecated
public void setPath(String path) {
setContextpath(path);
}
@Parameter(excluded = true)
public String getContextpath() {
return contextpath;
}
public void setContextpath(String contextpath) {
checkPathName("contextpath", contextpath);
this.contextpath = contextpath;
}
public String getThreadpool() {
return threadpool;
}
public void setThreadpool(String threadpool) {
checkExtension(ThreadPool.class, "threadpool", threadpool);
this.threadpool = threadpool;
}
public Integer getThreads() {
return threads;
}
public void setThreads(Integer threads) {
this.threads = threads;
}
public Integer getIothreads() {
return iothreads;
}
public void setIothreads(Integer iothreads) {
this.iothreads = iothreads;
}
public Integer getQueues() {
return queues;
}
public void setQueues(Integer queues) {
this.queues = queues;
}
public Integer getAccepts() {
return accepts;
}
public void setAccepts(Integer accepts) {
this.accepts = accepts;
}
public String getCodec() {
return codec;
}
public void setCodec(String codec) {
this.codec = codec;
}
public String getSerialization() {
return serialization;
}
public void setSerialization(String serialization) {
this.serialization = serialization;
}
public String getCharset() {
return charset;
}
public void setCharset(String charset) {
this.charset = charset;
}
public Integer getPayload() {
return payload;
}
public void setPayload(Integer payload) {
this.payload = payload;
}
public Integer getBuffer() {
return buffer;
}
public void setBuffer(Integer buffer) {
this.buffer = buffer;
}
public String getServer() {
return server;
}
public void setServer(String server) {
this.server = server;
}
public String getClient() {
return client;
}
public void setClient(String client) {
this.client = client;
}
public String getTelnet() {
return telnet;
}
public void setTelnet(String telnet) {
checkMultiExtension(TelnetHandler.class, "telnet", telnet);
this.telnet = telnet;
}
@Parameter(escaped = true)
public String getPrompt() {
return prompt;
}
public void setPrompt(String prompt) {
this.prompt = prompt;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
checkMultiExtension(StatusChecker.class, "status", status);
this.status = status;
}
@Override
public String getCluster() {
return super.getCluster();
}
@Override
public Integer getConnections() {
return super.getConnections();
}
@Override
public Integer getTimeout() {
return super.getTimeout();
}
@Override
public Integer getRetries() {
return super.getRetries();
}
@Override
public String getLoadbalance() {
return super.getLoadbalance();
}
@Override
public Boolean isAsync() {
return super.isAsync();
}
@Override
public Integer getActives() {
return super.getActives();
}
public String getTransporter() {
return transporter;
}
public void setTransporter(String transporter) {
checkExtension(Transporter.class, "transporter", transporter);
this.transporter = transporter;
}
public String getExchanger() {
return exchanger;
}
public void setExchanger(String exchanger) {
checkExtension(Exchanger.class, "exchanger", exchanger);
this.exchanger = exchanger;
}
/**
* 单词拼写错误,请使用{@link #getDispatcher()}
* @deprecated {@link #getDispatcher()}
*/
@Deprecated
@Parameter(excluded = true)
public String getDispather() {
return getDispatcher();
}
/**
* 单词拼写错误,请使用{@link #setDispatcher(String)}
* @deprecated {@link #setDispatcher(String)}
*/
@Deprecated
public void setDispather(String dispather) {
setDispatcher(dispather);
}
public String getDispatcher() {
return dispatcher;
}
public void setDispatcher(String dispatcher) {
checkExtension(Dispatcher.class, Constants.DISPATCHER_KEY, exchanger);
checkExtension(Dispatcher.class, "dispather", exchanger);
this.dispatcher = dispatcher;
}
public String getNetworker() {
return networker;
}
public void setNetworker(String networker) {
this.networker = networker;
}
public Integer getWait() {
return wait;
}
public void setWait(Integer wait) {
this.wait = wait;
}
}