hibernate默认产生一个新的连接后,需要720s才会释放。
解决办法:
1、配置文件加入
<property name="hibernate.connection.release_mode">after_transaction</property>
配置的模式为:after_transaction(个人理解应该是事物提交后释放连接)
Hibernate 的连接释放模式:hibernate.connection.release_mode 有三个选择:after_statement/after_transaction/on_close,默认的是on_close所以,这里要改成after_transaction
2、如果在进行数据库访操作时,可以操作到session对象,确保session对象在完成数据库操作后,调用close()方法。
3、在打开session后,手动开启一个transaction:session.beginTransaction(),当完成数据库操作时,再手动提交事务: transaction .commit();
数据库:
show status like '%Threads_connected%';//查看连接数
看到别人的建议改为32000。虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384 添加了最大允许连接数,对系统消耗增加不大
修改方式一:
set GLOBAL max_connections=32000;set GLOBAL max_connections=32000;
修改方式二:修改MySQL配置文件 vi /etc/my.cnf(需要重启)
[mysqld]
set-variable=max_connections=250