
com.qq.tars.server.config.ServerConfig Maven / Gradle / Ivy
/**
* Tencent is pleased to support the open source community by making Tars available.
*
* Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* https://opensource.org/licenses/BSD-3-Clause
*
* 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.qq.tars.server.config;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.List;
import com.qq.tars.client.CommunicatorConfig;
import com.qq.tars.common.support.Endpoint;
import com.qq.tars.common.util.Config;
import com.qq.tars.support.om.OmConstants;
public class ServerConfig {
private String application;
private String serverName;
private Endpoint local;
private String node;
private String basePath;
private String config;
private String notify;
private String log;
private String logPath;
private String logLevel;
private int logRate;
private String dataPath;
private String localIP;
private int sessionTimeOut;
private int sessionCheckInterval;
private boolean tcpNoDelay;
private int udpBufferSize;
private String charsetName;
private LinkedHashMap servantAdapterConfMap;
private CommunicatorConfig communicatorConfig;
public ServerConfig load(Config conf) {
application = conf.get("/tars/application/server", "UNKNOWN");
serverName = conf.get("/tars/application/server", null);
String localStr = conf.get("/tars/application/server");
local = localStr == null || localStr.length() <= 0 ? null : Endpoint
.parseString(localStr);
node = conf.get("/tars/application/server");
basePath = conf.get("/tars/application/server");
dataPath = conf.get("/tars/application/server");
charsetName = conf
.get("/tars/application/server", "UTF-8");
config = conf.get("/tars/application/server");
notify = conf.get("/tars/application/server");
log = conf.get("/tars/application/server");
logPath = conf.get("/tars/application/server", null);
logLevel = conf.get("/tars/application/server");
logRate = conf.getInt("/tars/application/server", 5);
localIP = conf.get("/tars/application/server");
sessionTimeOut = conf.getInt(
"/tars/application/server", 120000);
sessionCheckInterval = conf.getInt(
"/tars/application/server", 60000);
udpBufferSize = conf.getInt("/tars/application/server",
4096);
tcpNoDelay = conf
.getBool("/tars/application/server", false);
servantAdapterConfMap = new LinkedHashMap();
List adapterNameList = conf
.getSubTags("/tars/application/server");
if (adapterNameList != null) {
for (String adapterName : adapterNameList) {
ServantAdapterConfig config = new ServantAdapterConfig();
config.load(conf, adapterName);
servantAdapterConfMap.put(config.getServant(), config);
}
}
ServantAdapterConfig adminServantAdapterConfig = new ServantAdapterConfig();
adminServantAdapterConfig.setEndpoint(local);
adminServantAdapterConfig.setServant(String.format("%s.%s.%s",
application, serverName, OmConstants.AdminServant));
servantAdapterConfMap.put(OmConstants.AdminServant,
adminServantAdapterConfig);
if (application != null && serverName != null && logPath != null) {
logPath = logPath + File.separator + application + File.separator
+ serverName;
}
communicatorConfig = new CommunicatorConfig().load(conf);
if (logPath != null) {
communicatorConfig.setLogPath(logPath);
}
communicatorConfig.setLogLevel(logLevel);
communicatorConfig.setDataPath(dataPath);
return this;
}
public String getApplication() {
return application;
}
public ServerConfig setApplication(String application) {
this.application = application;
return this;
}
public String getServerName() {
return serverName;
}
public ServerConfig setServerName(String serverName) {
this.serverName = serverName;
return this;
}
public Endpoint getLocal() {
return local;
}
public ServerConfig setLocal(Endpoint local) {
this.local = local;
return this;
}
public String getNode() {
return node;
}
public ServerConfig setNode(String node) {
this.node = node;
return this;
}
public String getBasePath() {
return basePath;
}
public ServerConfig setBasePath(String basePath) {
this.basePath = basePath;
return this;
}
public String getConfig() {
return config;
}
public ServerConfig setConfig(String config) {
this.config = config;
return this;
}
public String getNotify() {
return notify;
}
public ServerConfig setNotify(String notify) {
this.notify = notify;
return this;
}
public String getLog() {
return log;
}
public ServerConfig setLog(String log) {
this.log = log;
return this;
}
public String getLogPath() {
return logPath;
}
public ServerConfig setLogPath(String logPath) {
this.logPath = logPath;
return this;
}
public int getLogRate() {
return logRate;
}
public ServerConfig setLogRate(int logRate) {
this.logRate = logRate;
return this;
}
public String getLogLevel() {
return logLevel;
}
public ServerConfig setLogLevel(String logLevel) {
this.logLevel = logLevel;
return this;
}
public String getLocalIP() {
return localIP;
}
public ServerConfig setLocalIP(String localIP) {
this.localIP = localIP;
return this;
}
public LinkedHashMap getServantAdapterConfMap() {
return servantAdapterConfMap;
}
public ServerConfig setServantAdapterConfMap(
LinkedHashMap servantAdapterConfMap) {
this.servantAdapterConfMap = servantAdapterConfMap;
return this;
}
public CommunicatorConfig getCommunicatorConfig() {
return communicatorConfig;
}
public ServerConfig setCommunicatorConfig(
CommunicatorConfig communicatorConfig) {
this.communicatorConfig = communicatorConfig;
return this;
}
public String getDataPath() {
return dataPath;
}
public ServerConfig setDataPath(String dataPath) {
this.dataPath = dataPath;
return this;
}
public int getSessionTimeOut() {
return sessionTimeOut;
}
public ServerConfig setSessionTimeOut(int sessionTimeOut) {
this.sessionTimeOut = sessionTimeOut;
return this;
}
public int getSessionCheckInterval() {
return sessionCheckInterval;
}
public ServerConfig setSessionCheckInterval(int sessionCheckInterval) {
this.sessionCheckInterval = sessionCheckInterval;
return this;
}
public boolean isTcpNoDelay() {
return tcpNoDelay;
}
public ServerConfig setTcpNoDelay(boolean tcpNoDelay) {
this.tcpNoDelay = tcpNoDelay;
return this;
}
public int getUdpBufferSize() {
return udpBufferSize;
}
public ServerConfig setUdpBufferSize(int udpBufferSize) {
this.udpBufferSize = udpBufferSize;
return this;
}
public String getCharsetName() {
return charsetName;
}
public ServerConfig setCharsetName(String charsetName) {
this.charsetName = charsetName;
return this;
}
public int getLocalPort() {
return this.local.port();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy