SSH 占用数据库连接不释放,导致执行数据库操作奇慢

来源:互联网 发布:windows平板模式 编辑:程序博客网 时间:2024/06/06 12:22

每次对数据库执行操作,到一个特定次数时,前端就会卡主不动,测试发现是相应的数据库方法一直挂起,没有继续执行,服务器控制台也没有任何输出以及报错。第一次遇到这个情况。

Google之,我们在配置项目时使用了Hibernate内建的连接池,没有为Mysql数据库配置释放链接,应当配置为每次执行操作完后,释放数据库连接。默认的最大数据库连接池为15,超过这个数值,连接池会等待连接超时退出后再进行下一个连接操作。在Spring的HibernateProperties中增加配置如下:

<property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop>                <prop key="hiberna te.hbm2ddl.auto" >update</prop>                <prop key="hibernate.format_sql">true</prop>                <!-- 自动释放连接 ,默认是onclose!-->    <prop key="hibernate.connection.release_mode">after_statement</prop><!-- 最大连接池,默认是15 --><prop key="maxPoolSize">50</prop><!-- 最小连接池 --><prop key="minPoolSize">5</prop></props></property>

0 0
原创粉丝点击