关于java.sql.SQLException: Connections could not ...

本文详细介绍了如何通过静态化对象属性来解决在项目中因页面刷新频繁新建数据库连接,导致连接数超过最大限制的问题。通过分析,发现主要原因是编码逻辑存在缺陷,每刷新一次页面就会新建一个连接,且未释放之前建立的连接。为了解决这个问题,文中提出了一种解决方案,即静态化BeanFactory实例,从而避免了重复创建连接的情况。实践证明,这种做法有效防止了数据库连接数的过载,保障了系统的稳定运行。

java.sql.SQLException: Connections could not be acquired from the underlying database!  这个异常一般情况下是可能是因为项目没在指定的时间上连数据库或者数据库配置错了而出现的错误,但也可能是因为session 没有关闭,造成连接数超过最大限制,而出现的错误,是的,mysql服务器没开,也会出现错误....总之挺麻烦的....

我遇到的这个异常是因为session没关闭,导致数据库连接超过了最大连接数。通过分析,发现其主要原因是因为我的编码逻辑有问题,页面一刷新就新建一个连接,而且没没释放原来的连接...

解决办法:

    / /将对象属性静态化

      private static BeanFactory acf = null;

      static{

        if(acf == null){

            acf = new ClassPathXmlApplicationContext("applicationContext.xml");

        }

      }

    这样就行了。目前没发现什么问题....



转载于:https://my.oschina.net/adwangxiao/blog/110964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值