J2SE论坛网»J2SE技术»数据库连接池的一些问题
数据库连接池的一些问题
问?:
原贴
http://community.csdn.net/Expert/topic/4913/4913473.xml?temp=.8812525
有一点不太明白94 笑看红尘写的一些代码,页面调用的时候
Connection con=null;
try{
if(pool.getDriver()==null){
pool.setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
pool.setURL("jdbc:odbc:jrun");
pool.setSize(5);
pool.initializePool();
}
..............
.............
有点疑问执行完这句话
pool.initializePool();
回会开辟(这里是5个连接) size个连接
但是每次访问数据库都要执行pool.initializePool();吗?如果是这样,我想肯定有问题吧
请高手帮忙解释一下,或者怎样调用才好
还有怎样释放一些无效的数据库连接
http://community.csdn.net/Expert/topic/4913/4913473.xml?temp=.8812525
有一点不太明白94 笑看红尘写的一些代码,页面调用的时候
Connection con=null;
try{
if(pool.getDriver()==null){
pool.setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
pool.setURL("jdbc:odbc:jrun");
pool.setSize(5);
pool.initializePool();
}
..............
.............
有点疑问执行完这句话
pool.initializePool();
回会开辟(这里是5个连接) size个连接
但是每次访问数据库都要执行pool.initializePool();吗?如果是这样,我想肯定有问题吧
请高手帮忙解释一下,或者怎样调用才好
还有怎样释放一些无效的数据库连接
答!: 1:
自己up一下
答!: 2:
数据库连接池,就初始一次就可以了,每次一个con执行后,释放就可以了
答!: 3:
不会有问题
if(pool.getDriver()==null)
的前提条件下才会初始化
初始化5个链接后
一般情况下连接会保存在那里
pool.getDriver()不会等于null
if(pool.getDriver()==null)
的前提条件下才会初始化
初始化5个链接后
一般情况下连接会保存在那里
pool.getDriver()不会等于null
答!: 4:
初始化一次?什么时候第一次初始化
----------------------------------
一般情况下连接会保存在那里
pool.getDriver()不会等于null
----------------------------------
保存在哪里?每次数据库连接 这个pool都是new来的
也就是说 getDriver每次都是null每次都要先建5个连接
scope="application" //这个是什么意思?
另外jsp页面我不可能用useBean
----------------------------------
一般情况下连接会保存在那里
pool.getDriver()不会等于null
----------------------------------
保存在哪里?每次数据库连接 这个pool都是new来的
也就是说 getDriver每次都是null每次都要先建5个连接
scope="application" //这个是什么意思?
另外jsp页面我不可能用useBean
答!: 5:
其实这个连接池写得不好,首先,initializePool和realeasePool都要手动地进行,现在很多连接池,这两步操作应该由程序自动进行的。最基本的步骤大约是这样的,每次有新的连接请求时,检查一下当前空闲的连接数,当少于最小连接数时,自动生生成新的连接,这就不用每次initializePool,而程序当中应该有个Timer,每隔一段时间,扫描一次所有的Connection对象,发现引用为空的,就把它释放掉。
答!: 6:
初始化一次?什么时候第一次初始化
----------------------------------
一般情况下连接会保存在那里
pool.getDriver()不会等于null
----------------------------------
保存在哪里?每次数据库连接 这个pool都是new来的
也就是说 getDriver每次都是null每次都要先建5个连接
scope="application" //这个是什么意思?
另外jsp页面我不可能用useBean
=================================================
1。第一次链接数据库的时候,第一次初始化
2。并不是所有的pool都是new出来的,你可以取理解下工厂模式
3。的确,为null的时候就建5个连接。5个还算少了,这是小系统
4。scope="application" 表示应用范围的,和session,request相对应。应用down掉的化这个东西会一直存在。
5。不可以用javaBean的化,jsp什么都干不了了
----------------------------------
一般情况下连接会保存在那里
pool.getDriver()不会等于null
----------------------------------
保存在哪里?每次数据库连接 这个pool都是new来的
也就是说 getDriver每次都是null每次都要先建5个连接
scope="application" //这个是什么意思?
另外jsp页面我不可能用useBean
=================================================
1。第一次链接数据库的时候,第一次初始化
2。并不是所有的pool都是new出来的,你可以取理解下工厂模式
3。的确,为null的时候就建5个连接。5个还算少了,这是小系统
4。scope="application" 表示应用范围的,和session,request相对应。应用down掉的化这个东西会一直存在。
5。不可以用javaBean的化,jsp什么都干不了了
答!: 7:
我看了一些资料,scope="application"是个全局的该javabean将一直存在
类似一个servlet程序,类似整个系统的"全局变量",而且只有一个实例
现在我的问题就是怎样在java bean里实现这个application级的userbean
我感觉那个代码写的不错
就是不知道什么时候初始连接池
类似一个servlet程序,类似整个系统的"全局变量",而且只有一个实例
现在我的问题就是怎样在java bean里实现这个application级的userbean
我感觉那个代码写的不错
就是不知道什么时候初始连接池
答!: 8:
pool.initializePool();是服务器启动的时候初始化的,并且常驻内存,初始化越多,系统并发数越高;
不需要释放无效的连接,这个是由连接池自动管理的,如果你强制释放连接的话,会造成连接没有正常关闭异常,适得其反
不需要释放无效的连接,这个是由连接池自动管理的,如果你强制释放连接的话,会造成连接没有正常关闭异常,适得其反
相关JAVA教程:
一个根本不懂的问题...(有实力的请进....)
右移位">>"操作符的问题
如何在swing中改变按钮大小
BufferedRead 的问题,大家来看看
如何判断从命令行输入的数值是不是某种基本类型?
请教一段for循环代码
一个java类里面全是static方法,如何声明这个类的接口?
关于XML的问题?
关于解析ascii码生成的报文的中文问题,急!!!
IE如何判断请求的URL传回的数据是用来下载,还是显示
有关response问题?
如何接受从命令行输入的数?