java.lang.InstantiationException: `DBPoolConnector' has no public zero-arg
constructor.
constructor.
解决方案 »
- 两个在同一个机器中 不同时间段启动的程序 怎么相互通信呢
- jcreator 不能生成class文件
- 关于static的一个简单问题。。。
- 请教一段语句,“?”和“:”
- java两个小问题(您注意没有)。
- 关于流的问题我想把文本每行数据储存在数组里怎么做啊?
- 请问哪儿有jdk的帮助文档(doc)下载,中文最好?????
- 这样把textfield中string 转成int 比如“10000”转成10000,
- 为什么JBuilder键入代码时总会出现指针后置的情况,该怎么办?
- 怎样从javascript中获得一个applet里发生的事件,比如鼠标的点击等等
- 关于在jcreator中设置classpath(找不到自己package的class)
- 为何清华大学出版社的JAVA2实用教程书中的连接SQL SERVER 2000的例子不能成功?
import java.sql.*;
import javax.sql.*;
import oracle.jdbc.pool.*;
import java.util.*;
import javax.naming.*;public class DBPoolConnector { static private OracleConnectionCacheImpl dbPool = null;
private static OracleConnectionPoolDataSource m_cpds = null;
private static DBPoolConnector thisInstance = null; private DBPoolConnector() throws Exception {
if (thisInstance == null) dbConnect();
} public static void dbConnect() throws SQLException,Exception { try {
dbPool = new OracleConnectionCacheImpl();
configureDataSource(dbPool);
dbPool.setMaxLimit(5);
dbPool.setMinLimit(1);
dbPool.setCacheScheme(OracleConnectionCacheImpl.FIXED_RETURN_NULL_SCHEME);
} catch (SQLException e) {
System.out.println("Connection to Database Pool fail : "+e.getMessage());
} }..........}
我是在jsp中调用DBPoolConnector出错的
if (thisInstance == null) dbConnect();
}
改为
public DBPoolConnector() throws Exception {
if (thisInstance == null) dbConnect();
}
你可以这样改一下:
private static DBPoolConnector thisInstance = new DBPoolConnector();
我对类方面不怎么清楚,不知道为什么要把private 改成 public ,
另外可以问一下为什么类里面可以声明这个类的变量 :private static DBPoolConnector thisInstance = null;谢谢!!
private static DBPoolConnector thisInstance = new DBPoolConnector();
由於是靜態變量﹐在類裝載的時候就可以初始化BPoolConnector﹐而且是內部調用構造器﹐故不會出錯。你在外部可以直接使用DBPoolConnector.thisInstance
以上是该段代码重构的要点。
private static OracleConnectionPoolDataSource m_cpds = null;
private static DBPoolConnector thisInstance =new DBPoolConnector() ; private DBPoolConnector() throws Exception {
if (dbPool == null) dbConnect();
}
....}这样可以了吗?
不过还有一个问题,因为我们现在做的是连接池的,但是有好几个database,而Singleton是不是这个类只能产生一个实例,那意思是不是我有多少database,我就要写多少个这样的程式。
谢谢!!