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 + -
显示快捷键?