关于使用ThreadLocal管理数据库连接的一些疑问


使用ThreadLocal封装db connection后数据库连接的最大数==最大线程数???

也就是说,在weblogic里面,分配给http的最大线程数为50
那么db connection最多也就使用50个连接对吗???

盼banq前来解惑ing

http连接数和Db连接数是不同概念,一个前端,一个是后端。而且这两者我不认为有什么必然关系。

sorry,我想我有个概念搞混了

在Weblogic里面可以设置用来处理请求的weblogic.kernel.default线程的数量,而这个线程数和系统中的线程数不是一个概念

当出现RuntimeException时,weblogic会自动摧毁该线程
这样线程上绑定的数据库连接、会话资源释放会有问题
所获得性能上的收益未必有风险大,除非有测试数据给以
证明

>
> 使用ThreadLocal封装db
> connection后数据库连接的最大数==最大线程数???
>
> 也就是说,在weblogic里面,分配给http的最大线程数为50
> 那么db connection最多也就使用50个连接对吗???


是的,实际上使用的最大DB连接数应该是50个。

Banq,我想他问这个问题的核心在于确定ThreadLocal和web server线程之间的关系。

两者确实没有联系,但跑在一个Web server的JVM上,应该就有了这层必然关系。 你的http连接数量(线程)最大值只有50个,你的dbconnection开10000000个也没有用吧。