当前位置:编程学习 > JAVA >>

jdbc proxool 连接池超时 惊天问题

--------------------编程问答-------------------- 附加: 我用的是 proxool-0.9.0RC2.jar --------------------编程问答-------------------- 没用过。 --------------------编程问答--------------------
引用楼主 firebird44 的回复:
请问哪位对proxool比较熟悉,我们在做项目的时候遇到一个问题:

Web程序运行的过程中,如果把数据库关闭,执行 DriverManager.getConnection("proxool." + DBName); 的时候不报异常,不运行,被阻塞了。而且每访问一次,socket就增加一个,这样服务会死掉的。


在我的项目中,如果主动关闭数据库,proxool是没办法处理,如果单单是超时还好处理点,proxool会自动重新连。可能进入你说的死等状态。

org.logicalcobwebs.proxool.configuration
此包下面有一个配置文件的dtd,可以研究一下看有没属性可以配置。


--------------------编程问答-------------------- 我用proxool解决mysql默认8小时连接问题,问题是解决了,但是打开mysql客户端,每查询一条sQL语句,就毁掉并重建一个connection连接,一直没解决,只是目前网站访问量小,没造成性能问题。


附贴求解答。。。 --------------------编程问答-------------------- “在我的项目中,如果主动关闭数据库,proxool是没办法处理,如果单单是超时还好处理点,proxool会自动重新连。可能进入你说的死等状态。”


但是直接用JDBC是可以解决这个问题的, url里面加上参数connectTimeout=2000,修改为jdbc:mysql://ip/db?connectTimeout=2000 就可以让程序出异常,然后在异常中处理。

既然JDBC可以, proxool为什么不可以呢? 难道proxool把url中的参数设置失效了?

--------------------编程问答-------------------- 楼主结合
house-keeping-test-sql
test-before-use:
这两个属性试试,测试connection的可用性
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,