dbconfigure.java

来自「短信系统SMS:支持普通短信、长短信和wap push短信的发送。」· Java 代码 · 共 303 行

JAVA
303
字号
package com.ekun.common.db;

import java.util.Properties;
import java.io.IOException;
import java.io.FileInputStream;
import com.ekun.common.log.Logger;
import com.ekun.common.log.LoggerFactory;

/**
 * 数据库的配置项,单例模式提供。
 * <p>Title: DNS UPDATE Server</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005.3</p>
 * <p>Company: </p>
 * @author guanxuegong@gmail.com
 * @version 1.0
 */

public class DBConfigure
{
  private static Logger logger = LoggerFactory.getLogger(DBConfigure.class);
  private String JDBCDriver = "oracle.jdbc.driver.OracleDriver";
  private String JDBCUrl = "jdbc:oracle:thin:@192.168.0.177:1521:EKUNDB";
  private String DBUserName = "szgs";
  private String DBPassword = "szgs";
  private String DBSID = "SMS";   //tnsnames.ora中配置的名字
  private static DBConfigure instance = null;
  private String JNDIName = "jdbc/SzgsSmsDS";
  //最大连接数
  private int maxConn = 50;
  //池中可用连接的最大空闲时间。单位:秒(默认1小时)
  private int dbIdleTimeout = 600;
  //连接被使用的超时时间,超时后将被收回。单位:秒(默认半小时)
  private int checkouttimeout = 600;
  //每个连接最多被使用的次数
  private int maxcheckoutcount = 100;
  //连接池对超时连接进行回收的时间间隔。单位:秒(默认10分钟)
  private int reaptimeinterval = 600;
  //是否打印堆栈信息。1:打开 0:关闭。所有信息被输出到JdbcLog文件。
  private int trace = 0;
  //是否打印出连接池的详细信息,如果0 将不能打印出堆栈信息。所有信息被输出到JdbcLog文件。
  private int dumpinfo = 0;
  /**
   *跟踪信息日志的输出级别。
   * 0:只输出连接池相关的信息,
   * 1:只输出已分配连接的超时信息
   * 2:1和连接池中的连接信息
   * 3:1、2和打开和关闭连接的所有信息
   */
  private int tracelevel = 3;

  //用于指定是否开发模式
  private static boolean DevModal = false;
  //是否使用连接池
  private static boolean UseDBPool = false;

  /**
   * JNDI服务提供商初始化类名
   */
  private String JavaNameingFactory = "weblogic.jndi.WLInitialContextFactory";
  /**
   * JNDI服务提供者URL
   */
  private String JavaNameingProvider = "t3://86.100.16.161:7001";

  static
  {
    instance = new DBConfigure();
  }

  public static DBConfigure getInstance()
  {
    return instance;
  }

  public int getMaxConn()
  {
    return maxConn;
  }

  public int getTracelevel()
  {
    return tracelevel;
  }

  public int getTrace()
  {
    return trace;
  }

  public int getReaptimeinterval()
  {
    return reaptimeinterval;
  }

  public int getMaxcheckoutcount()
  {
    return maxcheckoutcount;
  }

  public int getCheckouttimeout()
  {
    return checkouttimeout;
  }

  public int getDbIdleTimeout()
  {
    return dbIdleTimeout;
  }

  public int getDumpinfo()
  {
    return dumpinfo;
  }

  public boolean isDevModal()
  {
    return DevModal;
  }

  public boolean isUseDBPool()
  {
    return UseDBPool;
  }

  public String getDBSID()
  {
    return DBSID;
  }

  public String getJNDIName()
  {
    return JNDIName;
  }

  public String getJavaNameingProvider()
  {
    return JavaNameingProvider;
  }

  public String getJavaNameingFactory()
  {
    return JavaNameingFactory;
  }

  public String getJDBCDriver()
  {
    return this.JDBCDriver;
  }

  public void setJDBCDriver(String value)
  {
    this.JDBCDriver = value;
  }

  public String getJDBCUrl()
  {
    return this.JDBCUrl;
  }

  public void setJDBCUrl(String value)
  {
    this.JDBCUrl = value;
  }

  public String getDBUserName()
  {
    return this.DBUserName;
  }

  public void setDBUserName(String userName)
  {
    this.DBUserName = userName;
  }

  public String getDBPassword()
  {
    return this.DBPassword;
  }

  public void setDBPassword(String password)
  {
    this.DBPassword = password;
  }

  public String toString()
  {
    StringBuffer sb = new StringBuffer(1024);
    sb.append("DBConfigure Info:\n");
    sb.append("JavaNameingFactory").append(JavaNameingFactory).append("\n");
    sb.append("JavaNameingProvider").append(JavaNameingProvider).append("\n");
    sb.append("JDBCDriver").append(JDBCDriver).append("\n");
    sb.append("JDBCUrl").append(JDBCUrl).append("\n");
    sb.append("DBUserName").append(DBUserName).append("\n");
    sb.append("DBPassword").append(DBPassword).append("\n");
    return sb.toString();
  }

  public void setJavaNameingFactory(String JavaNameingFactory)
  {
    this.JavaNameingFactory = JavaNameingFactory;
  }

  public void setJavaNameingProvider(String JavaNameingProvider)
  {
    this.JavaNameingProvider = JavaNameingProvider;
  }

  public void setJNDIName(String JNDIName)
  {
    this.JNDIName = JNDIName;
  }

  private void jbInit() throws Exception
  {
  }


  public void setDBSID(String DBSID)
  {
    this.DBSID = DBSID;
  }

  public void setMaxConn(int maxConn)
  {
    this.maxConn = maxConn;
  }

  public void setTracelevel(int tracelevel)
  {
    this.tracelevel = tracelevel;
  }

  public void setTrace(int trace)
  {
    this.trace = trace;
  }

  public void setReaptimeinterval(int reaptimeinterval)
  {
    this.reaptimeinterval = reaptimeinterval;
  }

  public void setMaxcheckoutcount(int maxcheckoutcount)
  {
    this.maxcheckoutcount = maxcheckoutcount;
  }

  public void setCheckouttimeout(int checkouttimeout)
  {
    this.checkouttimeout = checkouttimeout;
  }

  public void setDbIdleTimeout(int dbIdleTimeout)
  {
    this.dbIdleTimeout = dbIdleTimeout;
  }

  public void setDumpinfo(int dumpinfo)
  {
    this.dumpinfo = dumpinfo;
  }

  public void setDevModal(boolean DevModal)
  {
    this.DevModal = DevModal;
  }

  public void setUseDBPool(boolean UseDBPool)
  {
    this.UseDBPool = UseDBPool;
  }

  public boolean loadConfig(String iniFileName)
  {
    Properties prop = new Properties();
    if ( (iniFileName == null) || (iniFileName.equals("")))
    {
      logger.error("DB配置文件不存在!");
      return false;
    }
    try
    {
      prop.load(new FileInputStream(iniFileName));
      this.DBUserName = prop.getProperty("DBUserName");
      this.DBPassword = prop.getProperty("DBPassword");
      this.DBSID = prop.getProperty("DBSID");
      this.JDBCUrl = prop.getProperty("DBUrl");
      this.maxConn = Integer.parseInt(prop.getProperty("MaxConn", "50"));
      this.JNDIName = prop.getProperty("jndi.conn", "jdbc/SzgsSmsDS");
      this.JavaNameingFactory = prop.getProperty("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
      this.JavaNameingProvider = prop.getProperty("java.naming.provider.url", "t3://localhost:7001");
    }
    catch (IOException e)
    {
      logger.error("读取DB配置文件失败!", e);
      return false;
    }
    return true;

  }
}

⌨️ 快捷键说明

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