Tomcat配置连接回收、超时

1、问题背景:
    在很多时候,连接数据库可能会出现连接数据库老是断掉,用了一段时间久断掉,或者不用了就自动断掉了,或者用了没有有效的回收连接,导致Tomcat时不时断掉的问题

2、解决方案:
    我们可以在我们的数据源里面作如下配置:
       maxActive="150" 最大活动连接(如果还不够,可以适量根据情况再配置大一点)
      initialSize="10"  初始化连接
      maxIdle="60"   最大空闲连接
      minIdle="10"   最小空闲连接
      maxWait="3000" 从池中取连接的最大等待时间,单位ms.
     validationQuery="select top 1 * from sysobjects"   验证使用的SQL语句
     testWhileIdle = "true"      指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.
     testOnBorrow = "false"   借出连接时不要测试,否则很影响性能
     timeBetweenEvictionRunsMillis = "30000"  每30秒运行一次空闲连接回收器
     minEvictableIdleTimeMillis = "1800000"  池中的连接空闲30分钟后被回收
     numTestsPerEvictionRun="3" 在每次空闲连接回收器线程(如果有)运行时检查的连接数
     removeAbandoned="true"  连接泄漏回收参数,当可用连接数少于3个时才执行
     removeAbandonedTimeout="180"  连接泄漏回收参数,180秒,泄露的连接可以被删除的超时值
     logAbandoned="true"    被丢弃的数据库连接是否做记录,以便跟踪,在log中打印出回收Connection的错误信息,包括在哪个地方用了Connection却忘记关闭了


你可能感兴趣的:(java开发)