用c3p0的连接池,比tomcat自带的dbcp连接池要好的多.

解决方案 »

  1.   

    import com.mchange.v2.c3p0.ComboPooledDataSource;import java.sql.Connection;
    import java.sql.SQLException;
    import java.beans.PropertyVetoException;/**
     * User: Saro
     * Date: 2005-3-16
     * Time: 22:47:49
     */
    public class DBPool {
      private static DBPool dbPool;
      private ComboPooledDataSource dataSource;  static {
        dbPool=new DBPool();
      }  private DBPool(){
        try {
          dataSource=new  ComboPooledDataSource();
          dataSource.setUser("sa");
          dataSource.setPassword("stone");
          dataSource.setJdbcUrl("jdbc:jtds:sqlserver://localhost/EBook;SelectMethod=cursor");
          dataSource.setDriverClass("net.sourceforge.jtds.jdbc.Driver");
          dataSource.setInitialPoolSize(2);
          dataSource.setMinPoolSize(1);
          dataSource.setMaxPoolSize(10);
          dataSource.setMaxStatements(50);
          dataSource.setMaxIdleTime(60);
        } catch (PropertyVetoException e) {
          throw new RuntimeException(e);
        }
      }  public final static DBPool getInstance(){
        return dbPool;
      }  public final Connection getConnection() {
        try {
          return dataSource.getConnection();
        } catch (SQLException e) {
          throw new RuntimeException("无法从数据源获取连接",e);
        }
      }  public static void main(String[] args)  throws Exception {
        Connection conn=DBPool.getInstance().getConnection();
        System.out.println("conn.isClose()= '" + conn.isClosed() + "'");
        conn.close();
      }
    }
      

  2.   

    http://sourceforge.net/projects/c3p0/
    这里是c3p0的主页
      

  3.   

    可以自己写个数据源的连接getConnection,就不用再web.xml中配置了
      

  4.   

    tomcat5的Web应用及数据库连接池可以单独配置到xml文件中,确保你的%TOMCAT_HOME%\common\lib目录下有commons-pool-1.1.jar、commons-dbcp-1.1.jar。
    把以下文本保存为“你的web应用名.xml”,然后保存到%TOMCAT_HOME%\conf\Catalina\localhost目录下....<?xml version='1.0' encoding='utf-8'?>
    <!--注意修改这里的path为你的web应用名-->
    <Context docBase="D:/eclipse/workspace/myjsp/taglib" path="/taglib" reloadable="true" workDir="D:/eclipse/workspace/myjsp/j2src">
      <Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
      <ResourceParams name="jdbc/mysql">
        <parameter>
          <name>maxWait</name>
          <value>5000</value>
        </parameter>
        <parameter>
          <name>maxActive</name>
          <value>4</value>
        </parameter>
        <parameter>
          <name>password</name>
          <value>password</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/school?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=GB2312</value>
        </parameter>
        <parameter>
          <name>driverClassName</name>
          <value>com.mysql.jdbc.Driver</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>2</value>
        </parameter>
        <parameter>
          <name>username</name>
          <value>xunyiren</value>
        </parameter>
      </ResourceParams>
    </Context>
      

  5.   

    嗯,你只要把我的类拿去用就可以了,将c3p0的jar包加入classpath,就像里面的main方法那样用,不需要考虑其它的.
    至于怎样配Tomcat的连接池,楼上已经给出来了.但那样几个坏处
    1.虚拟主机的Tomcat的Server.xml是不会让你动滴,
    2.无法脱离容器测试,因为只有运行Tomcat后才能获取它提供的数据源的.
      

  6.   

    我这样写好后,启动TOMCAT后 它找不到JSP文件怎么回事呢?
    <?xml version='1.0' encoding='utf-8'?>
    <!--注意修改这里的path为你的web应用名-->
    <Context docBase="E:\jsp\eclipse\workspace\shop" path="/shop" reloadable="true" workDir="E:\jsp\eclipse\workspace\shop\work">
      <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>
      <ResourceParams name="jdbc/mysql">
        <parameter>
          <name>maxWait</name>
          <value>5000</value>
        </parameter>
        <parameter>
          <name>maxActive</name>
          <value>4</value>
        </parameter>
        <parameter>
          <name>password</name>
          <value>password</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/school?user=jack&password=110&autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=GB2312</value>
        </parameter>
        <parameter>
          <name>driverClassName</name>
          <value>com.mysql.jdbc.Driver</value>
        </parameter>
        <parameter>
          <name>maxIdle</name>
          <value>2</value>
        </parameter>
        <parameter>
          <name>username</name>
          <value>xunyiren</value>
        </parameter>
      </ResourceParams>
    </Context>
      

  7.   

    张孝祥,老师在北大开班了,用学习Java与jsp、J2EE,UML、XML....
    我也想去,但想几个伙伴,5人报名就优惠一点啊!学费就3000元,实在
    本次培训定于2005年5月9正式开课,学员应于5月8日报到、熟悉学习和生活环境、参加入学典礼、与老师和学友进行交流。
    本次培训地点在北大校园内,住宿暂定在北大附近的学生公寓(暂定200~300元/月,住宿环境可根据学员的要求随时进行调整)。
    本次培训教室最多容纳40名学员,其中一些学习名额保留给对本次培训提供了大力支持的人士,本次培训对外限招35名学员。
    联系我:QQ:15020534  www.it315.org
      

  8.   

    小弟需基于STRUTS的简单而完整的WEB代码,为以后为中国软件事业作贡献做准备,谢谢各位好心人帮忙,信箱:[email protected]
    :)