解决方案 »

  1.   

    在每次dao操作结束时需要写connection.close()吗
      

  2.   

    是在tomcat中配的:<Context ...>
      ...
      <Resource name="jdbc/EmployeeDB"
                auth="Container"
                type="javax.sql.DataSource"
                username="dbusername"
                password="dbpassword"
                driverClassName="org.hsql.jdbcDriver"
                url="jdbc:HypersonicSQL:database"
                maxActive="8"
                maxIdle="4"/>
      ...
    </Context>
      

  3.   

    本帖最后由 fangmingshijie 于 2014-08-07 11:38:04 编辑
      

  4.   

    我用yjp监测连接数,每次dao操作都有新连接数
      

  5.   

    不用手动关闭,因为你已经在tomcat里配置了最大最小连接数,tomcat会替你维护。
      

  6.   

    我没看到在哪设置最大连接数<Resource name="jdbc/TestDB"
              auth="Container"
              type="javax.sql.DataSource"
              factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
              testWhileIdle="true"
              testOnBorrow="true"
              testOnReturn="false"
              validationQuery="SELECT 1"
              validationInterval="30000"
              timeBetweenEvictionRunsMillis="30000"
              maxActive="100"
              minIdle="10"
              maxWait="10000"
              initialSize="10"
              removeAbandonedTimeout="60"
              removeAbandoned="true"
              logAbandoned="true"
              minEvictableIdleTimeMillis="30000"
              jmxEnabled="true"
              jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
                org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
              username="root"
              password="password"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/mysql"/>