web服务器和数据库服务器分开,在同一局域网内,如果局域网突然不通,过会通了以后,连接池中的连接就没有用了,这个问题如何解决
用tomcat的连接池不行,请问用什么的连接池好呀,如果tomcat的连接池能行,要如何配置呀

解决方案 »

  1.   

    Max. Wait for Connection: 后面的值设大一点就可以了
      

  2.   

    楼上的不对。
    首先,tomcat的连接池功能很简单,并不具备连接断开一段时间后的自动修复功能;
    其次,一般的连接池在管理功能上是:对于不通的连接,连接池自动回收,同时保持最小连接数。
    所以,你的问题在于让连接池的最小连接数大于0;
    最大活动连接数 Max Active Connections:10
    最大空闲连接数 Max Idle Connections:5
    让前一个大于后一个;
    如果还不行,那么手动写一个线程,动态查询连接池的连接数量,连接数等于0则添加连接。
      

  3.   

    这好样不是Tomcat连接池的问题
      

  4.   

    alexwan(牧林:致力于IMS系统开发) 说的对 等待时间长一些 但是如果网络断的话。什么连接池好象都不行。
      

  5.   

    配置TOMCAT5.5以上版本不带ADMIN这样配置(COMMON/LIB下有驱动)
    修改%TOMCAT_HOME%/conf/server.xml文件,在  <GlobalNamingResources></GlobalNamingResources>之间
    添加以下内容:
     <Resource
          name="jdbc/******"
          type="javax.sql.DataSource"
          password="123456"
          driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
          maxIdle="2"
          maxWait="5000"
          username="sa"
          url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
          maxActive="4"/>
    修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下<resource-ref>
        <description>sqlserverDB Connection</description>
        <res-ref-name>jdbc/******</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
         <Resource
          name="jdbc/******"
          type="javax.sql.DataSource"
          password="123456"
          driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
          maxIdle="2"
          maxWait="5000"
          username="sa"
          url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
          maxActive="4"/> 
    </Context>根据个人具体情况进行相应修改。
    使用ADMIN配置的
    在\conf\Catalina\localhost下你的工程名。XML中加入
    <ResourceLink name="jdbc/****" global="jdbc/****" type="javax.sql.DataSource"/>
    基本就可以了。
      

  6.   

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

  7.   

    断网后可重新启动tomcat服务器啊如果有登陆界面,是否可以登陆?我是新手。
      

  8.   

    断网的原因很多,有时只是几秒钟的时间,所以根本不知道断网了,就算知道了,重启tomcat不也不是解决问题的根本方法呀
      

  9.   

    同问,我碰到的问题是在WEBLOGIC中使用连接池,每当由于各种原因数据库重起后,这时再WEBLOGIC上跑的程序就暴了,要重起WEBLOGIC才行
      

  10.   

    设置maxWait没有什么呀,设置成-1了但是网络一中断就不行了
      

  11.   

    先顶勒看!!
    JF JF  加油加油 继续努力