初始化系统配置信息,将系统表中的数据加载到内存中
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Hashtable;/** * 初始化系统配置信息,将系统表中的数据加载到内存中 **/public class SYSConfig {static org.apache.log4j.Logger mLogger=null;static String mClassName=SYSConfig.class.getName();private static SYSConfig mConfig=null;String mSqlSelect="select * from tb_sys_config";/** * 各参数的参数名 *///CKM参数名public final static String CKM_HOST_IP="ckm_hostip";public final static String CKM_HOST_PORT="ckm_hostport";public final static String CKM_USER_NAME="ckm_user";public final static String CKM_USER_PASSWORD="ckm_password";public final static String CKM_DY_MODEL="ckm_dymodel";public final static String CKM_PY_MODEL="ckm_pymodel";//检索相关默认参数名public final static String SEARCH_DEFAULT_PREPAGE="search_default_prepage";//日志相关参数名public final static String LOG_BATCH_SIZE="log_batch_size";public final static String LOG_SLEEP_TIME="log_sleep_time";//过滤相关参数名public final static String FILTER_WORD_REDIRECT_PAGE="filter_word_redirect_page";public final static String FILTER_IP_REDIRECT_PAGE="filter_ip_redirect_page";public final static String DISALLOW_IP_REDIRECT_PAGE="disallow_ip_redirect_page";//Error页public final static String ERROR_PAGE="error_page";//No Found页public final static String NOFONUD_PAGE="record_not_found_page";//Logger Levelpublic final static String LOG4J_LEVEL="log4j_level";//整合页面远程路径public final static String MERGE_REMOTE_DIR="zhenghe_ip";//Log4j记录存放的路径public final static String LOG4J_LOG_DIR="log4j_log_dir";//没找到图片时用无图缺省图片显示public final static String PIC_NOT_FOUND_DEFAULT="pic_not_found_default";//没找到文档转发到无文档页面public final static String FILE_NOT_FOUND_PAGE="file_not_found_page";//没找到文档转发到无文档页面public final static String USE_LICENSECODE="use_licensecode";//存在免费试用期public final static String FREE_USE_FLAG = "free_use_flag";//远程服务器ippublic final static String REMOTE_SERVER_ADDRESS = "remote_server_address";private Hashtable mConfigPairs=new Hashtable();//存储配置信息对/** * 构造函数 */private SYSConfig(){super();}/** * 获得配置信息实例对象 * @return */public static SYSConfig getInstance(){//logger.info("Begin getInstance()");if(mConfig==null){synchronized(SYSConfig.class){mConfig=new SYSConfig();mConfig.initXHConfig();}}return mConfig;}/** * 重新刷新配置信息 */public static void reloadConfig(){if(mLogger==null){mLogger=Logger.getLogger(SYSConfig.class);}mLogger.info("刷新系统配置信息");SYSConfig _config=new SYSConfig();_config.initXHConfig();mConfig=_config;mLogger.debug("mConfig:"+mConfig);}/** * 通过参数名获得参数值 * @param pKey * @return */public String getValue(String pKey){return (String)mConfigPairs.get(pKey);}/** * 通过调用数据库连接获得所有配置信息 */private void initXHConfig(){Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;try{conn=OracleDataSource.getConnection(mClassName);ps=conn.prepareStatement(mSqlSelect);rs=ps.executeQuery();while(rs.next()){String key=rs.getString("CONFIG_KEY");String value=rs.getString("CONFIG_VALUE");mConfigPairs.put(key,value);}}catch(Exception ex){ex.printStackTrace();}finally{if(rs!=null){try{rs.close();}catch(Exception e){}}if(ps!=null){try{ps.close();}catch(Exception e){}}if(conn!=null){//try//{//conn.close();//}catch(Exception e){}OracleDataSource.closeConnection(conn,mClassName);}}}}
页:
[1]