数据库连接缓冲池是为了降低每次建立/释放连接时的开销,故而,每次程序端归还回来的连接并不直接关闭,而是留给以后给其他程序再用。归还在池(pool)里,没有被使用的称为空闲(idle),被借出的,使用中的连接称为active。所以顾名思义,maxIdle者,代表当pool中的空闲连接达到此数值后,以后被归还的连接都回被直接释放,直到池中空闲连接数因为其他程序继续借出而重新低于maxIdle。此外,一般还会对idle的最长时间的设定,比如超过30秒,idle连接留着也浪费,就关掉而maxActive者,代表你能从这个pool中借出的最大连接的个数。在借出的时候,当池里有idle的,就用idle的,如果一个也没有,且未达到maxActive,就新建一个。假如已经达到maxActive这个数值后,根据不同的池种类和/或不同的设定,一般有以下几种:1 直接抛错
2 让想要借出连接的线程等待一段时间,如果等不到,再抛错
3 每隔一段检查一次pool,直到有可用连接,否则一直等下去
4 永远可以拿到(视情况需要maxActive不设置或0或负)
2 让想要借出连接的线程等待一段时间,如果等不到,再抛错
3 每隔一段检查一次pool,直到有可用连接,否则一直等下去
4 永远可以拿到(视情况需要maxActive不设置或0或负)
解决方案 »
- java怎么实现流水号自动增长
- struts2 ActionSupport 及 项目起名问题,高手请进!
- hibernate3.5连接SQLServer2000报错
- 新手请问:Struct2框架是不是取代了servlet?
- 请教一个释放Spring容器资源的问题。
- webwork配置错误,请问是错在哪里?
- 在SPRING下采用JOTM开发通用编程式事务管理组件?
- ant如何安装与配置
- 能不能说说使用 JAVA 干的什么项目,这个项目的前途如何;你在所干的项目当中具体作什么,重要性如何?
- 求解啊啊啊
- struts使用Validator验证框架问题
- 在struts form表单中如何嵌入js日期项?
tomcat中重写了Connection