数据库为mysql,客户端使用hibernate进行连接,结果长时间没有数据访问的话,重新访问数据库就会报错:
java 代码
- org.hibernate.exception.JDBCConnectionException: could not execute query
- at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
- at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
- .......
- Caused by: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:
-
-
- ** BEGIN NESTED EXCEPTION **
-
- com.mysql.jdbc.CommunicationsException
- MESSAGE: Communications link failure due to underlying exception:
-
- ** BEGIN NESTED EXCEPTION **
-
- java.net.SocketException
- MESSAGE: Broken pipe
-
- STACKTRACE:
-
- java.net.SocketException: Broken pipe
- at java.net.SocketOutputStream.socketWrite0(Native Method)
- ......
- ** END NESTED EXCEPTION **
查阅相关文档,造成报错的原因在于:Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。
解决的方法有3种:
- 增加wait_timeout的时间。
- 减少Connection pools中connection的lifetime。
- 测试Connection pools中connection的有效性。
使用c3p0解决上面问题的配置如下:
<!---->
java 代码
- <!---->
- "c3p0.min_size">10
- "c3p0.max_size">100
- "c3p0.timeout">10
- "c3p0.acquireRetryAttempts">30
-
- "c3p0.acquireIncrement">5
-
- <!---->
- "c3p0.idleConnectionTestPeriod">300
-
- "c3p0.initialPoolSize">20
- "c3p0.maxPoolSize">100
- <!---->
- "c3p0.maxIdleTime">300
- "c3p0.maxStatements">50
- "c3p0.minPoolSize">10
分享到:
相关推荐
这是一个使用Hibernate连接mysql 的入门小程序,,本程序中间包含Hibernate的相关api包以及一个sql脚本语句,祝,大家学习顺利额~
hibernate和MySQL的核心jar,亲测可用。跑demo是够用了
Hibernate连接MySql小实例 环境:eclipse3.5 数据库:mysql 需要建立tc数据局,tc下有张user表,user表有id,name,pass项。 请在连接数据库配置文件hibernate.ctf.xml中配置用户名和密码 很容易理解的
hibernate连接MySql使用的jar包
使用该代码,需要加载相应的jar包,我上传了hibernate的相关jar包,应该还需要Mysql的jar包和几个基础jar包,这个都可以根据名称在网上下载,另外,需要自己安装一个MySQL,建立数据库foxdata,然后根据代码中的实体...
hibernate连接mysql数据库所需要的所有包。
hibernate连接mysql,oracle,sqlserver, access数据库包和方法
简单的springboot的学习项目实例,使用了hibernate连接mysql数据库,进行简单的插入和查询操作,项目中已经包含依赖的jar包和数据库脚本,只需要创建配置的数据库并使用数据库脚本建立表即可。
mysql数据库hibernate jar文件
一个整合Sturts2Hibernate连接MySQL数据库的小实例,能够连接MySQL实现数据库插入,查询,删除更新等操作
Hibernate连接MySql数据库生成表结构,本例演示了一种比较少见的方式
struts2+hibernate+mysql实现简单的注册和登录,适合新手
hibernate连接数据[Mysql]的代码实例
使用java的SSH+Mysql时出现插入数据乱码还有查询也出现乱码问题
用myeclipse作的第一个hibernate连接mysql数据库的例子. 先在mysql数据库中创建好课程表,建表的命令如下: create table kcb(kch char(10) primary key,kcm char(20),kxxq int,xs int,xf int). 代码主要在src文件夹...
hibernate 3.6 在java console下运行的说明 安装 1. 把yqr_net.sql导入到mysql数据库中。你会发现yqr_net数据库中有person这个表。 2. 打开eclipse,选file->import导入这个项目。 3. 修改hibernate.cfg.xml里面的...
纯净的spring+hibernate+mysql,springmvc整合了hibernate框架,使用mysql数据库,简单的实现登录、注册等相应的功能!
Hibernate_MySQL中文乱码问题.docHibernate_MySQL中文乱码问题.doc
Hibernate的MySql查询 大家放心收藏! saivicky出品!必属精品!
Struts2 + Hibernate + Mysql