`
ygsilence
  • 浏览: 336741 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初始化系统配置信息,将系统表中的数据加载到内存中

    博客分类:
  • java
阅读更多


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);
			}
		}
	}
	
}
分享到:
评论

相关推荐

    cisco无线控制器的初始化配置.doc

    1. Bootloader信息:Bootloader是系统启动过程中的一个关键组件,它负责将操作系统加载到内存中。从输出结果中可以看到,Bootloader的版本号为4.0.217.0,日期为2007年4月12日。 2. 处理器信息:处理器是系统的核心...

    Linux系统内存磁盘初始化技术详细解析

    initrd是一个临时的根文件系统,它在系统启动时被加载到内存中,目的是为了提供必要的驱动程序和初始化脚本,以便在真正的根文件系统可用之前完成系统引导。 在传统的单阶段引导过程中,内核直接挂载实际的根文件...

    Springboot项目启动时加载数据库数据到内存.rar

    博客地址:... 1. 启动后访问http://localhost:8848/code,可见控制台输出codeMap中的值 2. 新建一个只有key和value两个字段的表code 3. 不要轻易浪费积分下载代码,没什么实质内容

    疯狂内核之——内核初始化

    - **复制初始化头变量**: 将初始化信息复制到适当的位置。 - **初始化堆**: 为动态内存分配准备空间。 - **确保支持当前运行的CPU**: 确认CPU支持必要的特性。 - **设置BIOS的x86模式**: 配置处理器进入合适的...

    S5PV210内存配置代码(TQ210)

    3. **C语言实现**:在描述中提到的博客文章中,作者使用C语言编写了内存初始化代码,这涉及到对S5PV210的系统寄存器操作。例如,通过设置`MPLLCON`寄存器来调整内存总线的频率,通过`DRAMCON`寄存器设定DDR的时序...

    dell4084冷数据存储ME初始化手册

    重启服务器有助于清除内存中的临时数据,并确保新配置被正确加载。 5. **验证配置**:服务器重启后,登录管理界面验证所有设置是否正确无误。这一步骤可以帮助确保所有配置都按照预期工作,避免因配置错误导致的...

    DDR 初始化 流程

    DDR初始化流程是确保DDR内存正常运行的关键步骤之一,它涉及对DDR内存的各种设置和配置,以确保其在系统启动时能够正确地与系统其他组件协同工作。本文将深入探讨DDR初始化流程,特别是状态机形式下的标准流程。 ##...

    linux-2.6.29在mini2440上的内存底层初始化学习笔记

    Linux-2.6.29在Mini2440上的内存底层初始化是一个复杂的过程,涉及到内存控制器的初始化、bitmaps的建立、buddy系统的配置等多个方面。这些初始化过程确保了内存资源的有效管理,提高了系统的整体性能。对于开发者来...

    dll内存加载

    在Windows中,当一个程序启动时,操作系统会根据程序的配置信息寻找并加载必要的DLL文件。这个过程分为以下步骤: 1. **静态链接**:在编译阶段,如果DLL被静态链接,编译器会将DLL的入口点和函数地址直接嵌入到可...

    vpp初始化代码解析.pdf

    总结起来,VPP的初始化过程涉及到配置读取、线程与内存管理、日志系统、物理内存配置以及插件和统计信息的初始化。这个过程为VPP构建了一个高效的多线程、内存优化的运行环境,使得VPP能够高效地处理网络数据包并...

    C8051F020初始化头文件

    在嵌入式系统设计中,微控制器的初始化是至关重要的步骤,它确保硬件资源如CPU、内存、外设等能够正确运行。"C8051F020初始化头文件"就是专门为这个特定型号的微控制器提供初始化代码的头文件,通常包含了初始化函数...

    Linux下系统引导和初始化的实现分析.pdf

    这部分涉及到内核模块的加载、初始化系统调用表、初始化进程管理等。同时,系统还会进行硬件驱动的探测和初始化,以便操作系统能够有效地管理和控制硬件资源。 总的来说,Linux系统的引导和初始化过程是一个复杂而...

    xilinx rom初始化

    ROM初始化是指在FPGA上电后,通过特定的方法将预设的数据加载到ROM中,以便后续电路能够正确读取这些数据。初始化ROM的过程对于很多应用来说都是非常关键的一步,比如在数字信号处理、图像处理等领域,初始数据的...

    3Par存储详细配置手册(包括存储初始化配置部分)

    - **初始化存储系统:** 完成服务处理器的配置后,在同一界面中的“Setup the Storage System”选项中输入VSP的IP地址。 - **Web界面访问:** 通过浏览器访问VSP的Web界面(如https://10.2.31.148),使用默认用户名...

    linux系统的初始化流程

    2. **引导程序加载内核**:引导程序(如GRUB)读取硬盘上的内核映像文件(通常位于/boot分区),并将内核加载到内存中执行。 3. **内核初始化**: - **加载Bootsect.s、setup.S和head.S**:这些文件包含了早期启动...

    内核初始化

    **内核初始化**是操作系统启动过程中的关键环节之一,主要涉及系统硬件资源的初始化、内核数据结构的建立、核心服务的启动等步骤。良好的初始化过程可以确保操作系统稳定高效地运行。 #### 二、内核初始化的主要...

    mini2440_boot_dm9000初始化

    `bootloader` 是系统启动时运行的第一段代码,负责初始化硬件设备,加载操作系统内核到内存,并将其控制权交给内核。`DM9000` 是一种流行的以太网控制器,广泛应用于各种嵌入式系统中,提供网络连接功能。 这篇描述...

    LPDDR4 LPDDR4X的上电时序及初始化--中文讲解.pdf

    嵌入式系统中,LPDDR4和LPDDR4X内存的正确上电时序和初始化是保证系统稳定运行的关键。本文主要针对这两个内存标准的上电流程、模式寄存器设置以及初始化步骤进行深入解析。 首先,我们关注模式寄存器的默认设置。...

    初始化数据库链接信息

    在Java世界里,`common-configuration`通常与`Properties`类结合使用,读取并解析配置文件,将配置信息加载到内存中供程序使用。 `slf4j`(Simple Logging Facade for Java)是一个日志记录 facade 框架,为各种...

Global site tag (gtag.js) - Google Analytics