📄 dboracleconnpool.java
字号:
/**
* @DBOracleConnPool.java 2007-8-15
* @Author yangpeiliang
* @E_mail:ypl728@hotmail.com
**/
package com.sigth;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ResourceBundle;
import oracle.jdbc.pool.OracleConnectionCacheImpl;
public class DBOracleConnPool implements java.io.Serializable
{
/**Oracle的jdbc连接字符串中的子协议名(即驱动程序类型名)*/
private transient static java.lang.String url = null;
/**Oracle的jdbc连接字符串中的子名(即网络编码名称)*/
private transient static String urlOLPS = null;
/**Oracle的jdbc连接连接缓冲池处理对象*/
private static transient OracleConnectionCacheImpl connectionPoolOLPS = null;
private static String username = null;
private static String password = null;
private static int maxConnNum = 50;
private static DBOracleConnPool connPool = null;
private DBOracleConnPool()
{
initParam();
createConnectionPool();
}
public static DBOracleConnPool getInstance()
{
if (connPool == null)
{
connPool = new DBOracleConnPool();
}
return connPool;
}
private static void initParam()
{
ResourceBundle rb = ResourceBundle.getBundle("DBInfo");
url = rb.getString("url");
username = rb.getString("user");
password = rb.getString("passwd");
maxConnNum = Integer.parseInt(rb.getString("maxConnNum"));
}
private void createConnectionPool()
{
try
{
if (connectionPoolOLPS == null)
{
connectionPoolOLPS = new OracleConnectionCacheImpl();
connectionPoolOLPS.setURL(url);
connectionPoolOLPS.setUser(username);
connectionPoolOLPS.setPassword(password);
connectionPoolOLPS.setMinLimit(1);
connectionPoolOLPS.setMaxLimit(maxConnNum);
connectionPoolOLPS.setCacheScheme(OracleConnectionCacheImpl.
FIXED_RETURN_NULL_SCHEME);
}
}
catch (SQLException sqlE)
{
sqlE.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public synchronized Connection getConnection()
{
Connection conn = null;
if (connectionPoolOLPS == null)
{
createConnectionPool();
}
try
{
conn = connectionPoolOLPS.getConnection();
}
catch (SQLException sqlE1)
{
sqlE1.printStackTrace();
try
{
conn = connectionPoolOLPS.getConnection();
}
catch (SQLException sqlE2)
{
sqlE2.printStackTrace();
}
}
return conn;
}
public void closeConnectionPool()
{
if (connectionPoolOLPS != null)
{
try
{
connectionPoolOLPS.close();
}
catch (SQLException sqlE)
{
sqlE.printStackTrace();
}
connectionPoolOLPS = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -