最近,为适应业务需要,需要在原来多线程的地方改用连接池,因为在没用连接池之前服务器上老是拿不到连接。
环境:MSsqlserver 2000+JDK1.6+resin
我用的C3p0线程池(jtds驱动)
C3p0配置如下:
想的是:在我七个线程里面共用一个 dataSource,想当然的我就把申明成了一个static的,但在运行时发现当线程池里的
connection用过之后,连接池便不再自动地去拿连接了,线程也就不再运行了,当时还老报一个MS.sqlException的异常;刚开始以为是c3p0配置问题,在网上查了好久包括上到C3p0的官方网站上也没有解决这个问题。弄了两三个小时,最后我想可能是static+多线程的锁出的问题吧,第二天上班时将其改成用单例模式实现,成功解决上述问题。
主要收获两点:
1,不要过度紧张配置文件,认为那个地方没配好就导致玩不下去了,这往往会误导你解决问题的方向发生偏离。
2,要小心static,凡是定义为static的他的内容在内存中便永久性地存在了,不会再作任何改变了。
另外:对于多线程的共用对象,也更体会深刻了。对于static的一定为切加小心。
到此这篇python 数据库 连接池(python数据库连接池怎么建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/kjbd-pdakx/29875.html