`

Hibernate连接Mysql的8小时问题

阅读更多
这个问题估计是用mysql建立网站都会碰到的。
每天早上起来打开网页, 就会看到这个问题。。

原因是mysql有一个time_out全局值, 这个值是28800, 也就是28800秒,正好是8小时。8个小时之后会断开连接, 然后jdbc的Connection就需要重新连接才行。
在mysql中运行:show global variables like 'wait_timeout';就可以看到该数值。

问题重现
首先我们可以修改一下mysql的配置文件,来重现一下这个错误。
[mysqld]
wait_timeout=20
interactive_timeout=20


这次打开网页,只要过20秒, 刷新请求数据库的页面,就会看到这个错误了。
   Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin transaction failed:
Caused by:

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin transaction failed:


再次刷新页面就能打开。



解决方案

此方案针对dbcp.

http://blog.csdn.net/quickgu/article/details/7179023
 validationQuery = "SELECT 1"  
        testWhileIdle = "true"    
        timeBetweenEvictionRunsMillis = "10"  
        minEvictableIdleTimeMillis = "10"
        testOnBorrow = "true"/>

这里设置为10, 也就是mysql连接过期的时间的一半。
这样就会在mysql连接过期之前重新获取连接。

具体部署的时候, 改为小于28800的值就行了。
分享到:
评论

相关推荐

    hibernate和MySQL的jar

    对于MySQL,我们需要指定`org.hibernate.dialect.MySQL5Dialect`(针对MySQL 5.x版本)或`org.hibernate.dialect.MySQL8Dialect`(针对MySQL 8.x版本)。 11. **映射文件(.hbm.xml)**: 虽然现在更常见的是使用...

    Hibernate连接MySql的一个小实例

    Hibernate连接MySql小实例 环境:eclipse3.5 数据库:mysql 需要建立tc数据局,tc下有张user表,user表有id,name,pass项。 请在连接数据库配置文件hibernate.ctf.xml中配置用户名和密码 很容易理解的

    使用Hibernate连接MySql的入门小程序

    **使用Hibernate连接MySQL的入门小程序** 在Java编程领域,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,将复杂的SQL查询转换为简单的Java对象操作。本入门程序将带你了解如何使用Hibernate...

    Hibernate中连接MySql所需的jar包

    当使用Hibernate连接MySQL数据库时,我们需要依赖一些特定的jar包来确保所有必要的组件都已到位。标题和描述提到了"Hibernate中连接MySql所需的jar包",这暗示了我们主要关注的是与Hibernate和MySQL数据库连接相关的...

    JPA、Hibernate连接Mysql的源代码

    使用该代码,需要加载相应的jar包,我上传了hibernate的相关jar包,应该还需要Mysql的jar包和几个基础jar包,这个都可以根据名称在网上下载,另外,需要自己安装一个MySQL,建立数据库foxdata,然后根据代码中的实体...

    hibernate+mysql乱码问题

    在开发Java Web应用程序时,经常会遇到数据库操作中的字符编码问题,特别是当使用Hibernate框架与MySQL数据库结合时。本文将深入探讨“hibernate+mysql乱码问题”的原因、解决方案以及如何预防这类问题。 首先,...

    hibernate连接mysql,oracle,sqlserver, access数据库包和方法

    本文将详细介绍如何使用Hibernate连接MySQL、Oracle、SQL Server以及Access数据库,包括所需的包和具体的方法。 首先,让我们来看看连接MySQL数据库所需的配置和步骤: 1. **添加依赖**:在你的项目中,你需要包含...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.pdf

    解决 MySQL+Hibernate 连接空闲8小时自动断开问题 概述: 在使用 MySQL 和 Hibernate 进行数据库持久层开发时,可能会遇到连接空闲8小时自动断开的问题。本文将讨论该问题的解决方案,并对相关的知识点进行详细...

    hibernate+proxool解决mysql8小时问题(附带jar包)

    MySQL数据库在长时间无操作的情况下,为了节省资源,会自动关闭闲置的连接,这通常被称为“8小时问题”。为了解决这个问题,开发者通常需要采取特定的策略,比如使用连接池。在本案例中,我们看到一种解决方案,即...

    hibernate连接mysql所需要的所有jar包

    当使用Hibernate连接MySQL数据库时,我们需要确保引入了所有必要的jar包。以下是对这些jar包及其作用的详细说明: 1. **Hibernate核心库**:`hibernate-core-x.x.x.Final.jar` 是Hibernate的核心组件,包含了持久化...

    MySQL+Hibernate下连接空闲8小时自动断开问题解决方案.docx

    MySQL+Hibernate 连接空闲8小时自动断开问题解决方案 知识点1: Hibernate 的连接池机制 在 Hibernate 中,默认情况下 使用的是 DriverManagerConnectionProvider,这是一个简单的连接池机制。它将打开的连接缓存在...

    mysql数据库hibernate jar文件

    mysql数据库hibernate jar文件

    spring3.0+hibernate3.3+mysql8.0

    2. **配置文件**:编写`applicationContext.xml`(Spring配置)和`hibernate.cfg.xml`(Hibernate配置),定义bean、数据源、session工厂等,并配置数据库连接参数。 3. **实体类和映射文件**:创建Java实体类来...

    hibernate+mysql基本原理示例

    在Java应用中,要使用Hibernate连接MySQL数据库,首先需要在`hibernate.cfg.xml`配置文件中设置数据库连接信息,包括URL、用户名、密码和驱动类名。例如: ```xml <property name="hibernate.connection.url">jdbc:...

    springboot+hibernate+mysql简单例子

    简单的springboot的学习项目实例,使用了hibernate连接mysql数据库,进行简单的插入和查询操作,项目中已经包含依赖的jar包和数据库脚本,只需要创建配置的数据库并使用数据库脚本建立表即可。

    解决Hibernate中MySQL的中文排序

    在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库排序规则以及Hibernate的配置等因素导致的。本文将深入探讨如何解决这些问题,确保MySQL数据库中的...

    hibernate连接数据[Mysql]的代码实例

    以上就是使用Hibernate连接MySQL数据库的基本步骤和操作示例。注意,实际应用中还需要考虑事务管理、异常处理、性能优化等方面。在`hibernate_mysql`这个压缩包中,可能包含了这些示例的源代码,你可以下载并运行来...

    Hibernate连接MySql数据库生成表结构

    本教程将详细讲解如何使用Hibernate连接MySQL数据库并自动生成表结构,这是一种相对少见但十分实用的方法。 首先,我们需要确保已安装并配置好以下软件和库: 1. MySQL数据库:确保MySQL服务器已经运行,并创建一个...

    Hibernate+MySQL包

    【标题】"Hibernate+MySQL包"所涉及的知识点...综上,"Hibernate+MySQL包"的使用涵盖了Java编程、数据库设计、ORM概念、JDBC连接、面向对象查询以及事务和缓存管理等多个重要知识点,是Java Web开发中常见的技术组合。

    spring data jpa 连接mysql8.x的一些问题梳理总结.docx

    Spring Data JPA 连接 MySQL 8.x 遇到的问题总结 Spring Data JPA 是一个基于 Java 的持久层框架,它提供了简洁的数据访问方式,支持多种数据库,包括 MySQL。然而,在使用 Spring Data JPA 连接 MySQL 8.x 时,...

Global site tag (gtag.js) - Google Analytics