WEB服务器里的数据库连接池不够用了怎么办?

tonycookbird 2008-04-09 09:04:52
比如在一WEB应用中,连接池(连接池是通过JNDI取得)已经用光,这时程序想得到连接就必须等待,如果当时的情况十分紧急,程序必须得到一个连接马上对数据库操作,不能等待.那么这时应该怎么处理呢?我的想法是直接通过JDBC取得一个连接来对数据库进行操作.大家还有什么更好的方法吗?
...全文
532 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不可能的吧,不管是开源的还是应用服务器上的连接池都是实现 DataSource 接口的,
实际上 JNDI 获得的连接,在后台也是将 DataSource 绑在 JNDI 上来获得的。像
Tomcat 的 JNDI 数据源就是通过绑定 DBCP 的 DataSource 来实现的。

用光的话应该有参数进行配置策略的,具体是等待呢,还是新增,可以参考一下应用服
务器的说明。没有那么傻的,一般来说应用服务器上的连接池至少不会比开源的差。
duzhonghua 2008-04-11
  • 打赏
  • 举报
回复
homeland520 学习
duzhonghua 2008-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 homeland520 的回复:]
最好优化你的SQL或者数据库表结构,如果数据量大就按照反规范化进行水平拆分或者垂直拆分,另外只能计算你们的业务高峰期调高数据库连接池的最大连接数
[/Quote]
java0000000 2008-04-11
  • 打赏
  • 举报
回复
把连接池支持的最大连接数改一下就可以了。
paradise7th 2008-04-11
  • 打赏
  • 举报
回复
连接池改大一点就可以了,一般说来连接不会太多,如果经常用光的话需要考虑一下你的连接使用是不是有问题(比如用完后没有关闭连接)
老紫竹 2008-04-10
  • 打赏
  • 举报
回复
1 你确信你真的需要那么多并发连接吗? 也许你的程序有链接泄漏呢! 先排查或确认一下

2 所有的连接池都支持最大连接数的设置,你可以增加那个配置

3 确认你的数据库设置支持那个最大连接数,比如mysql, 默认的最大链接只有50个
homeland520 2008-04-09
  • 打赏
  • 举报
回复
最好优化你的SQL或者数据库表结构,如果数据量大就按照反规范化进行水平拆分或者垂直拆分,另外只能计算你们的业务高峰期调高数据库连接池的最大连接数
tonycookbird 2008-04-09
  • 打赏
  • 举报
回复
你说的是DBCP之类吗.这种开源方法取得的连接池和用最原始的JNDI取得的连接池有什么区别?是不是一个是程序级的而JNDI是服务器级的?
kokobox 2008-04-09
  • 打赏
  • 举报
回复
如果用了开源的连接池的话,没有你说的情况发生,当连接池中的连接没有了,那么当有程序取连接的时候他会new给他一个,并填满连接池。
在基于JDBC的数据库实际应用开发中,对数据库连接的管理是一个重点也是一个难点,频繁对数据库的连接与关闭操作、多客户对数据库的并发访问,一定程度上决定了WEB系统的响应以及应用性能。使用数据库连接池方式能对数据库的连接进行管理和维护,上层应用程序通过数据库连接池使用数据库资源能提升系统性能,充分利用系统资源。文章通过介绍、分析数据库连接池工作的基本原理,了解目前流行的WEB服务器数据库连接池方面的使用现状后,总结了一些数据库连接池开发程序中容易忽略的问题。并在学习掌握了实现连接池的关键技术后给出了一个较为高效的连接池管理策略,在这种策略思想的指导下实际开发出一个数据库连接池模块,使得上层应用通过本连接池访问数据库资源变得相对高效和容易,从实际上论证了这种设计方案的可行性。 关键词:连接池;数据库;JDBC;并发访问在基于JDBC的数据库实际应用开发中,对数据库连接的管理是一个重点也是一个难点,频繁对数据库的连接与关闭操作、多客户对数据库的并发访问,一定程度上决定了WEB系统的响应以及应用性能。使用数据库连接池方式能对数据库的连接进行管理和维护,上层应用程序通过数据库连接池使用数据库

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧