当前位置: 代码迷 >> Java Web开发 >> jsp+tomcat+mysql 关于连接池 资源耗尽 大家试一下,很久没有解决啦
  详细解决方案

jsp+tomcat+mysql 关于连接池 资源耗尽 大家试一下,很久没有解决啦

热度:70   发布时间:2016-04-17 14:02:57.0
jsp+tomcat+mysql 关于连接池 资源耗尽 高手进 大家试一下,很久没有解决啦。
连接BEAN:

//mysqltest.java
package   news;
import   java.sql.*;
import   java.util.HashMap;
import   javax.sql.*;
import   javax.naming.*;
public   class   mysqltest
{
private   static   DataSource   ds=null;
private   static   Connection     conn=     null;  
Statement   stmt   =   null;
PreparedStatement   pstmt=null;
ResultSet   rs   =   null;

        public   static   DataSource   localhost(){
                //在HashMap中通过get()来获取value,通过put()来插入value,
                //ContainsKey()则用来检验对象是否已经存在
                HashMap <Object,Object>     cachedDs=new   HashMap <Object,Object>   ();
                if(cachedDs.containsKey( "ds "))//取出空闲状态的数据库连接
                        {
                                /*   在DataSource中事先建立了多个数据库连接,
                                  *   这些数据库连接保存在连接池(Connect   Pool)中。
                                  *   Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;
                                  *   当程序访问数据库结束,再将数据库连接放回连接池。
                                  *   */
                                ds   =   (DataSource)cachedDs.get( "ds ");
                        }
                else
                        try
                        {
                                        /*在javax.naming包中提供了Context接口,
                                          *   该接口提供了将对象和名字绑定,以及通过名字检索对象的方法。
                                          *   */
                                InitialContext   initCtx   =   new   InitialContext();
                                //lookup(String   name):返回与指定的名字绑定的对象,获得数据库连接工厂
                                ds   =   (DataSource)initCtx.lookup( "java:comp/env/jdbc/jlpd ");
                                cachedDs.put( "ds ",   ds);
  相关解决方案