package com.alibaba.doris.dataserver.store.handlersocket.util; import java.util.Properties; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.doris.common.config.ConfigTools; import com.alibaba.doris.dataserver.store.handlersocket.HandlerSocketStorageConfig; public class HandlerSocketConfigUtil { private static final Logger logger = LoggerFactory.getLogger(HandlerSocketConfigUtil.class); public static HandlerSocketStorageConfig loadHandlerSocketStorageConfigFromFile(String configFile) { if (StringUtils.isBlank(configFile)) { throw new IllegalArgumentException("Configure file can't be empty."); } Properties properties = ConfigTools.loadProperties(configFile); if (null == properties) { properties = ConfigTools.loadProperties("default_handlersocket.properties"); if (logger.isDebugEnabled()) { logger.debug("Couldn't load properties file :" + configFile + " Using default handlersocket properties file. (default_handlersocket.properties)"); } } else { if (logger.isDebugEnabled()) { logger.debug("Loading handlersocket properties file: " + configFile); } } HandlerSocketStorageConfig config = new HandlerSocketStorageConfig(); config.setHost(StringUtils.trim(StringUtils.trim(properties.getProperty("host")))); config.setrPort(Integer.parseInt(StringUtils.trim(properties.getProperty("rPort","9998")))); config.setWrPort(Integer.parseInt(StringUtils.trim(properties.getProperty("wrPort","9999")))); config.setTcpNoDelay(Boolean.valueOf(StringUtils.trim(properties.getProperty("tcpNoDelay","true")))); config.setReuseAddress(Boolean.valueOf(StringUtils.trim(properties.getProperty("reuseAddress","true")))); config.setReadOnly(Boolean.valueOf(StringUtils.trim(properties.getProperty("readOnly","false")))); config.setSoTimeout(Integer.parseInt(StringUtils.trim(properties.getProperty("soTimeout","30000")))); config.setSendBufferSize(Integer.parseInt(StringUtils.trim(properties.getProperty("sendBufferSize","8192")))); config.setReceiveBufferSize(Integer.parseInt(StringUtils.trim(properties.getProperty("receiveBufferSize","8192")))); config.setExecuteBufferSize(Integer.parseInt(StringUtils.trim(properties.getProperty("executeBufferSize","8192")))); config.setBlocking(Boolean.valueOf(StringUtils.trim(properties.getProperty("blocking","false")))); config.setHardClose(Boolean.valueOf(StringUtils.trim(properties.getProperty("hardClose","false")))); config.setAuth(Boolean.valueOf(StringUtils.trim(properties.getProperty("isAuth","false")))); config.setaKey(StringUtils.trim(properties.getProperty("aKey","null"))); config.setDbName(StringUtils.trim(properties.getProperty("dbname"))); return config; } }