configreader.java

来自「用JSP+ORACLE写的 公司个人信息网络管理系统(JSP).」· Java 代码 · 共 113 行

JAVA
113
字号
package oa.main;

import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import java.util.List;
import java.awt.Color;

/**
 * @author zjm
 * @since 2003-05-22
 */
public class ConfigReader
{

    public ConfigReader(String configFileName)
    {
        parseConfigXML(configFileName);
    }

    public void parseConfigXML(String configURI)
    {
        try
        {
            SAXBuilder builder = new SAXBuilder(false);
            Document doc = builder.build("file:///"+configURI);
            Element root = doc.getRootElement();

			/**连接池配置*/
			Configuration.ConnectionMode = root.getChild("database").getChild("connectmode").getTextTrim();
			Configuration.ConnectionPoolFor = root.getChild("database").getChild("poolfor").getTextTrim();
            Configuration.ConnectionPoolName = root.getChild("database").getChild("poolname").getTextTrim();
            Configuration.DB_URL = root.getChild("database").getChild("url").getTextTrim();
            Configuration.DB_JDBCDRIVER = root.getChild("database").getChild("jdbcdriver").getTextTrim();
            Configuration.DB_USERNAME = root.getChild("database").getChild("dbusername").getTextTrim();
            Configuration.DB_PASSWORD = root.getChild("database").getChild("dbpassword").getTextTrim();
            Configuration.DB_MAXCONNNUM = root.getChild("database").getChild("maxconnection").getTextTrim();
            Configuration.DB_WEBLOGFILE = root.getChild("database").getChild("weblogfile").getTextTrim();
            Configuration.DB_LOGLEVEL = root.getChild("database").getChild("loglevel").getTextTrim();
            Configuration.DB_SESSION = root.getChild("database").getChild("dbsession").getTextTrim();

			//文件存放路径
            oa.main.ParentBean.FilesPath = root.getChild("database").getChild("sysfilepath").getTextTrim();

			/**间隔期*/
            Configuration.TimerDelay = Integer.parseInt(root.getChild("timer").getChildTextTrim("default_refresh_interval"));
            Configuration.PageRefreshRate = Integer.parseInt(root.getChild("timer").getChild("page_refresh_rate").getTextTrim());
            Configuration.WarningDelayInterval = Integer.parseInt(root.getChild("timer").getChild("warning_remain_interval").getTextTrim());
            Configuration.DataManageInterval = Integer.parseInt(root.getChild("timer").getChild("data_manage_interval").getTextTrim());
	
			/**每页显示历史纪录的条数*/
            Configuration.Number_shown = Integer.parseInt(root.getChild("page").getChild("number_shown").getTextTrim());
			
			if(Configuration.DB_LOGLEVEL.equals("2")||Configuration.DB_LOGLEVEL.equals("4"))
			{
				System.out.println("\r\n==============================================================================");
				System.out.println("\r\n正在读取配置文件: "+configURI+" ......");			
				System.out.println("\r\n读取配置文件完成!");
				System.out.println("\r\n设置Web日志文件目录为:"+Configuration.DB_WEBLOGFILE);
				System.out.println("\r\n设置系统日志文件目录为:"+oa.main.ParentBean.FilesPath+"log\\syslog\\");
				System.out.println("\r\n设置用户日志文件目录为:"+oa.main.ParentBean.FilesPath+"log\\usrlog\\");
			}
			
			if(Configuration.ConnectionMode.equals("syspool"))
			{
				/**初始化连接池*/
				Configuration.connMgr = DBConnectionManager.getInstance();
				if(Configuration.DB_LOGLEVEL.equals("2")||Configuration.DB_LOGLEVEL.equals("4"))
				{
					System.out.println("\r\n正在初始化: "+Configuration.ConnectionPoolFor+" - 连接池: "+Configuration.ConnectionPoolName+" ......");
					System.out.println("\r\n初始化连接池连接数: "+Configuration.DB_MAXCONNNUM+" !");
					System.out.println("\r\n正在启动数据库连接池清理程序......");
					int interval = 30;
					try
					{
						interval = Integer.parseInt( Configuration.DB_SESSION ) ;
					}catch(Exception e){}

					//毫秒:1分钟=60秒*1000毫秒
					interval = interval * 60 * 1000 ;
					System.out.println("\r\n设置清理时钟周期为:"+interval+"ms");
					System.out.println("\r\n清理时钟启动!");
					System.out.println("\r\n==============================================================================\r\n");
				}
				new PoolCleaner();
			}
			else if(Configuration.ConnectionMode.equals("direct"))
			{
				if(Configuration.DB_LOGLEVEL.equals("2")||Configuration.DB_LOGLEVEL.equals("4"))
				{
					System.out.println("\r\n设置数据库连接方式为:直接连接");
					System.out.println("\r\n==============================================================================\r\n");
				}
			}
			else if(Configuration.ConnectionMode.equals("webpool"))
			{
				if(Configuration.DB_LOGLEVEL.equals("2")||Configuration.DB_LOGLEVEL.equals("4"))
				{
					System.out.println("\r\n设置数据库连接方式为:从WebContainer取得连接");
					System.out.println("\r\n==============================================================================\r\n");
				}
			}

        }
        catch(JDOMException jdome)
        {
            System.err.println("读取配置文件失败!");
            jdome.printStackTrace();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?