问题四:Cannot get a connection, pool exhausted [原因分析] 很简单,不能建立连接,连接池溢出,这说明你的连接资源都浪费了,原因是你没有及时回收它们。 [解决方法] 及时并正确使用close()方法释放ResultSet、Statement、Connection,具体语句我就不说了,推荐在finally中写。 总结:所以,如果你想用Tomcat5.5建立一个数据源连接池,只要三步。 第一:设置数据源,推荐用图形操作界面,如果手动就在$Tomcat/conf/server.xml中</GlobalNamingResources>前添加如下代码: <Resource name="jdbc/test" //数据源名称 type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" //这就是我刚才提到的driverClassName的设置 password="admin" //数据库密码 maxIdle="2" maxWait="5000" username="root" //数据库用户名 url="jdbc:mysql://localhost:3306/test?autoReconnect=true" //数据库URL,就是刚才提到的url maxActive="4"/> 注释参数记得更改成自己的。 第二:设置Resource连接。推荐在$Tomcat/conf/context.xml中写入<ResourceLink global="数据源名称" name="映射后的名称" type="javax.sql.DataSource"/>,如果想就在某个单独映射目录实现,就在$Tomcat/conf/server.xml中需要映射的目录中的<Context ...>后写入。 第三:将JDBC拷贝到$Tomcat\common\lib中 另外,我在这里不详细说明如何调用数据源,这个问题比较简单,但要注意,DataSource ds=(DataSource)envCtx.lookup("引用数据源");语句中"引用数据源"只的是"映射后的名称",不是"数据源名称",所以我建议大家方便起见把两个名字设成同一个。而且特别要注意及时释放闲置资源,不然连接池就会溢出! 以上是我今天研究的一些成果,我还是个初学者,希望这篇文章对大家有所帮助。有什么问题可以联系我,我的邮箱是:lk_l@sina.com(爱看霓虹灯的人)。本文为neonlight.bokee.com(CSDN_MathMagician)原创,不可转载!2006年08月11日 |