永发信息网

tomcat 数据库连接池 查询过于频繁时导致 数据库连接失败!

答案:4  悬赏:50  手机版
解决时间 2021-03-20 08:44
环境:eclipse + tomcat
问题:数据库连接使用的是数据库连接池,部分配置参数:
maxActive="100" maxIdle="30" maxWait="-1"
有一个查询操作复杂一点,需要关联5张表,使用了out join,inner join等等,当点击查询按钮的频率比较大时(如:100次/秒,200次/秒),就会连不上数据库.
这样的问题应该很常见的,那位朋友可以解决,帮帮忙~~ 多谢了
最佳答案
在tomcat\conf\context.xml写上
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>

然后项目web.xml
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
把数据库jar包放在tomcat\lib下
写数据库实现类
public Connection getConn()
{
try
{
Context ic = new InitialContext();
DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/restrant");
Connection conn = source.getConnection();
return conn;
}
catch(NamingException nex)
{
nex.printStackTrace();
return null;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}

}
全部回答
数据库连接池的连接被用光了,自然就不能连接了 可以加大最大连接数,还就没了连接用完了要及时关闭,以免占着坑不拉屎, 想那些sql语句复杂的最好简化以减少查询的时间,寻找别的解决方法
name:连接池的名字 auth:连接生成的范围 type:连接类型 maxactive,连接池的最大数据库连接数。设为0表示无限制。 maxidle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制。 maxwait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示 无限制。 username:连接的用户名 password:连接使用的密码 driverclassname:数据库连接驱动 url:连接使用的url databasename:数据库sid标示
当数据量比较大时,Join的效率比较慢. 可以考虑用视图. 数据库最大连接数为100, 当点击数大时,就超过了maxActive 数了. 将maxActive 设大如300(逐渐设大), 并将 maxIdle 设小(如5 或10)接 )
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
老观是什么意思
亨路达珠宝松岗旗舰店我想知道这个在什么地方
android怎么实现复选框的图标在右边显示
原有五十几只肉鸽。准备换个鸽棚。有些还在暖
457签证到底要不要职业评估
今天用艺龙订了一张机票可以返钱吗?
其他正常,在移动显示屏上的窗口时图像会出现
音响功放保险一般在功放什么位子
水电费户号怎么查
曲江海洋馆到电子正街公交站排
靓妆坊地址在哪,我要去那里办事
贾奕昂这个名字怎么样
CM03-04能否改为窗口化,请高手指点
每个男人到一定的年纪是该做什么事情了?
心理学选修课程都有哪些
推荐资讯
奶奶的奶奶怎么称呼
7根线380v潜水泵线怎么接
求美河学习在线邀请码
公积金贷款20万,公积金余额里面16万,可以第
去澳大利亚是先签证还是先机票
虫族崛起by风享云知道 全文
下面是近期网上流传的“中国人的一日三餐”:
苏格拉底为什么而失望
游戏王 攻/守 ?
宝马x5可以改为加气的吗
工程上原材料和混合料有什么区别
江世家牛霸王牛杂怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?