package guang.crawler.controller;
import guang.crawler.localConfig.LocalConfig;
import guang.crawler.util.PropertiesHelper;
/**
* 控制器的配置类.除了使用默认配置之外,它还添加了自己的配置文件和属性.
*
* @author sun
*
*/
public class ControllerConfig extends LocalConfig {
private static ControllerConfig config;
public static ControllerConfig me() {
if (ControllerConfig.config == null) {
ControllerConfig.config = new ControllerConfig();
}
return ControllerConfig.config;
}
/**
* 当前类是否被初始化了.
*/
private boolean inited = false;
/**
* 启动webservice建议的端口号
*/
private int webserviceSuggestPort = 9876;
/**
* 属性的key,表示启动webservice时建议的端口号.
*/
private static String KEY_WEBSERVICE_SUGGEST_PORT = "crawler.controller.webservice.port.suggest";
private ControllerConfig() {
}
/**
* 添加了自己的配置文件
*/
@Override
protected String[] getConfigResources() {
return new String[] { "/conf/crawler-controller/controller.conf" };
}
/**
* 获取建议的配置webservice的端口.
*
* @return
*/
public int getWebserviceSuggestPort() {
return this.webserviceSuggestPort;
}
public synchronized ControllerConfig init() {
if (this.inited) {
return this;
}
this.inited = true;
return this;
}
@Override
protected void initProperties() {
super.initProperties();
this.webserviceSuggestPort = PropertiesHelper.readInt(this.configProperties,
ControllerConfig.KEY_WEBSERVICE_SUGGEST_PORT,
this.webserviceSuggestPort);
}
}