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 Level
public 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";
//远程服务器ip
public 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. Bootloader信息:Bootloader是系统启动过程中的一个关键组件,它负责将操作系统加载到内存中。从输出结果中可以看到,Bootloader的版本号为4.0.217.0,日期为2007年4月12日。 2. 处理器信息:处理器是系统的核心...
initrd是一个临时的根文件系统,它在系统启动时被加载到内存中,目的是为了提供必要的驱动程序和初始化脚本,以便在真正的根文件系统可用之前完成系统引导。 在传统的单阶段引导过程中,内核直接挂载实际的根文件...
重启服务器有助于清除内存中的临时数据,并确保新配置被正确加载。 5. **验证配置**:服务器重启后,登录管理界面验证所有设置是否正确无误。这一步骤可以帮助确保所有配置都按照预期工作,避免因配置错误导致的...
博客地址:... 1. 启动后访问http://localhost:8848/code,可见控制台输出codeMap中的值 2. 新建一个只有key和value两个字段的表code 3. 不要轻易浪费积分下载代码,没什么实质内容
- **复制初始化头变量**: 将初始化信息复制到适当的位置。 - **初始化堆**: 为动态内存分配准备空间。 - **确保支持当前运行的CPU**: 确认CPU支持必要的特性。 - **设置BIOS的x86模式**: 配置处理器进入合适的...
3. **C语言实现**:在描述中提到的博客文章中,作者使用C语言编写了内存初始化代码,这涉及到对S5PV210的系统寄存器操作。例如,通过设置`MPLLCON`寄存器来调整内存总线的频率,通过`DRAMCON`寄存器设定DDR的时序...
DDR初始化流程是确保DDR内存正常运行的关键步骤之一,它涉及对DDR内存的各种设置和配置,以确保其在系统启动时能够正确地与系统其他组件协同工作。本文将深入探讨DDR初始化流程,特别是状态机形式下的标准流程。 ##...
- **初始化存储系统:** 完成服务处理器的配置后,在同一界面中的“Setup the Storage System”选项中输入VSP的IP地址。 - **Web界面访问:** 通过浏览器访问VSP的Web界面(如https://10.2.31.148),使用默认用户名...
Linux-2.6.29在Mini2440上的内存底层初始化是一个复杂的过程,涉及到内存控制器的初始化、bitmaps的建立、buddy系统的配置等多个方面。这些初始化过程确保了内存资源的有效管理,提高了系统的整体性能。对于开发者来...
在Windows中,当一个程序启动时,操作系统会根据程序的配置信息寻找并加载必要的DLL文件。这个过程分为以下步骤: 1. **静态链接**:在编译阶段,如果DLL被静态链接,编译器会将DLL的入口点和函数地址直接嵌入到可...
总结起来,VPP的初始化过程涉及到配置读取、线程与内存管理、日志系统、物理内存配置以及插件和统计信息的初始化。这个过程为VPP构建了一个高效的多线程、内存优化的运行环境,使得VPP能够高效地处理网络数据包并...
在嵌入式系统设计中,微控制器的初始化是至关重要的步骤,它确保硬件资源如CPU、内存、外设等能够正确运行。"C8051F020初始化头文件"就是专门为这个特定型号的微控制器提供初始化代码的头文件,通常包含了初始化函数...
这部分涉及到内核模块的加载、初始化系统调用表、初始化进程管理等。同时,系统还会进行硬件驱动的探测和初始化,以便操作系统能够有效地管理和控制硬件资源。 总的来说,Linux系统的引导和初始化过程是一个复杂而...
ROM初始化是指在FPGA上电后,通过特定的方法将预设的数据加载到ROM中,以便后续电路能够正确读取这些数据。初始化ROM的过程对于很多应用来说都是非常关键的一步,比如在数字信号处理、图像处理等领域,初始数据的...
2. **引导程序加载内核**:引导程序(如GRUB)读取硬盘上的内核映像文件(通常位于/boot分区),并将内核加载到内存中执行。 3. **内核初始化**: - **加载Bootsect.s、setup.S和head.S**:这些文件包含了早期启动...
**内核初始化**是操作系统启动过程中的关键环节之一,主要涉及系统硬件资源的初始化、内核数据结构的建立、核心服务的启动等步骤。良好的初始化过程可以确保操作系统稳定高效地运行。 #### 二、内核初始化的主要...
`bootloader` 是系统启动时运行的第一段代码,负责初始化硬件设备,加载操作系统内核到内存,并将其控制权交给内核。`DM9000` 是一种流行的以太网控制器,广泛应用于各种嵌入式系统中,提供网络连接功能。 这篇描述...
在Java世界里,`common-configuration`通常与`Properties`类结合使用,读取并解析配置文件,将配置信息加载到内存中供程序使用。 `slf4j`(Simple Logging Facade for Java)是一个日志记录 facade 框架,为各种...
1. **初始化VMM数据结构**:这一步骤涉及到创建和初始化与虚拟机管理相关的各种数据结构,例如虚拟内存管理表等。 2. **配置虚拟机环境**:VMM需要为每个虚拟机分配必要的资源,并设置相应的虚拟化环境,以便后续的...