从系统退出后.如何销毁连接池呢.   另外一事不明.我设置的连接池最大连接数.如果在web环境下.是对整个系统而言了嘛?   如果设置了  maxActive="100"   maxIdle="10"  是否网络上所有访问我的网站的人.最多同时有100个人连接.然后10个人一下的连接,是可以直接取连接的.

解决方案 »

  1.   

    那个连接池的连接是针对数据库来说得.就是同时可以有100人同时执行数据库的操作.
    在你执行完select等数据库操作后把Connection close后又把这个连接归还连接池了.你还可以几个系统同时使用这个连接池的!
      

  2.   

    maxIdle="10":ConnectionPool与db保持最多10个连接。(超过maxIdle的连接是一定要先销毁,在重新建立连接)
    maxActive="100":ConnectionPool与db最多可建立100个连接。
    -------------------------------------------------------
    只是个人理解,有错误也请大家指教。
      

  3.   

    销毁连接池干嘛,难不成还销毁了连接池再有用户访问又建一个连接池不成
    写程序时记得每次打开数据库用完后close就行了,如果你设置100个同时连接,那么就是能同时有100个连接,但如果你每次用完都不关的话,那一下子这100个就满了,就出错了
      

  4.   

    首先,这里的“连接数”是指你的应用服务器和数据库服务器之间的连接,而不是客户端IE和你WEB/应用服务器之间的连接。数据库连接缓冲池是为了降低每次建立/释放连接时的开销,故而,每次程序端归还回来的连接并不直接关闭,而是留给以后给其他程序再用。归还在池(pool)里,没有被使用的称为空闲(idle),被借出的,使用中的连接称为active。所以顾名思义,maxIdle者,代表当pool中的空闲连接达到此数值后,以后被归还的连接都回被直接释放,直到池中空闲连接数因为其他程序继续借出而重新低于maxIdle。此外,一般还会对idle的最长时间的设定,比如超过30秒,idle连接留着也浪费,就关掉而maxActive者,代表你能从这个pool中借出的最大连接的个数。在借出的时候,当池里有idle的,就用idle的,如果一个也没有,且未达到maxActive,就新建一个。假如已经达到maxActive这个数值后,根据不同的池种类和/或不同的设定,一般有以下几种:1 直接抛错
    2 让想要借出连接的线程等待一段时间,如果等不到,再抛错
    3 每隔一段检查一次pool,直到有可用连接,否则一直等下去
    4 永远可以拿到(视情况需要maxActive不设置或0或负)此外还有最大借出时间
      

  5.   

    楼上几位的讲解,让我对数据库连接池技术有了更深的理解.非常感谢.  结贴.
       关于达到maxActive这个数值后的处理,我还需要再学习学习.
       谢谢.