- 浏览: 189415 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
官人与夫人:
我的也是,看完特地登陆来,赞一个!
SpringMVC JPA 事务,数据库保存操作没有异常但数据保存不成功 -
悲伤的小脑:
这个少了 种情况吧。就是一个时间段完全包含另外一个时间段,这应 ...
java 判断两个时间段是否有交集 -
nilm61:
vip3652204732 写道为什么会报NULL错误,路径是 ...
java调用ffmpeg获取视频信息函数代码 -
vip3652204732:
为什么会报NULL错误,
路径是对的啊。
68行报NULL错误 ...
java调用ffmpeg获取视频信息函数代码 -
liuxuejin:
好!真需要
java调用ffmpeg获取视频信息函数代码
MySQL官方不推荐使用autoReconnect=true,参见http://bugs.mysql.com/bug.php?id=5020
(注意这里说的版本是3.0.14-production)
需要另外找别的办法来解决超过8小时,链接断开的问题。
由于问题产生的根本原因在于服务到数据库的连接长时间没活动,既然重新连接的办法无效,就可以尝试另外一种办法,就是反空闲。
自己写一个线程来反空闲的话,比较麻烦。
最后在网上找到一个办法。为hibernate配置连接池,推荐用c3p0,然后配置c3p0的反空闲设置idle_test_period,只要小于MySQL的wait timeout即可
当然其他的类似能够实现反空闲的连接池配置也是一样的可以的
<!--EndFragment-->。
要修改就只能在配置文件里修改。
Windows下在%MySQL HOME%/bin下有mysql.ini配置文件
Linux系统下的配置文件为/etc/my.cnf。
其中wait_timeout就是负责超时控制的变量,其时间为长度为28800s,就是8个小时,那么就是说MySQL的服务会在操作间隔8小时后断开,需要再次重连。
也有用户在URL中使用jdbc.url=jdbc:mysql://localhost:3306/nd?autoReconnect=true来使得连接自动恢复,当然了,这是可以的,不过是MySQL4及其以下版本适用。MySQL5中已经无效了,必须调整系统变量来控制了。
MySQL5手册中对两个变量有如下的说明:
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
wait_timeout:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义
如此看来,两个变量是共同控制的,继续深入这两个变量wait_timeout的取值范围是1-2147483(Windows),1-31536000(linux),interactive_time取值随wait_timeout变动,它们的默认值都是28800。
MySQL的系统变量由配置文件控制,当配置文件中不配置时,系统使用默认值,这个28800就是默认值。
设置超时的话,就在/etc/mysql/my.cnf或Windows下在%MySQL HOME%/bin下有mysql.ini中增加
wait_timeout = 20
interactive_timeout =20
一些常见的异常包括:(但不全面)
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Broken pipe
STACKTRACE:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3250)
at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5395)
at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.ibatis.datasource.pooled.PooledConnection.invoke(PooledConnection.java:225)
at $Proxy2.setAutoCommit(Unknown Source)
java.net.SocketException, underlying cause:
Software caused connection abort: recv failed
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Software caused connection abort: recv failed
STACKTRACE:
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1385)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1532)
...
** END NESTED EXCEPTION **
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1707)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1923)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1163)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1272)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1218)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2233)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2181)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1159)
发表评论
-
Liferay中的Portlet事件通信
2013-12-31 09:46 741Liferay中的Portlet事件通信在有的项目开发中是需 ... -
Spring+ quartz 之 多任务动态定时(任务中起任务)
2013-09-12 15:58 2341参见上一篇Spring+ quartz 多任务定时 执 ... -
Spring+ quartz 多任务定时 执行 与cronExpression表达式
2013-09-12 15:04 1034在JavaEE系统中,我们会经常用到定时任务, ... -
linux中更改java版本
2013-09-05 15:43 780一. 解压安装jdk 在shell终端下进入jdk-6u14 ... -
nginx+tomcat文件下载不完整
2013-08-05 18:56 1658直接访问tomcat可以正常下载文件 访问前端 ... -
linux配置java环境变量(详细)
2013-07-01 18:58 654一. 解压安装jdk 在shell ... -
查找Maven 依赖
2013-04-22 12:48 948用了Maven,所需的JAR包就不能再像往常一样, ... -
SpringMVC JPA 事务,数据库保存操作没有异常但数据保存不成功
2013-03-11 19:45 3322SpringMVC JPA 事务,数据库保存操作没有异常 ... -
svn错误 svn:Checksum mismatch while updating
2012-12-10 10:48 1959行svn update出错: svn: Checksum ... -
Liferay 验证码动态刷新
2012-07-23 19:11 13391.使用liferay标签生成 验证码的url < ... -
使用Ant编译大量java文件时出java.lang.OutOfMemoryError
2012-07-13 10:26 924一般的出现java.lang.OutOfMemoryError ... -
liferay6.1 启用logj4j.properties定义日志
2012-07-02 14:57 1287在编译好的环境下 即tomcat/webapp/ROOT/WE ... -
liferay6.1 环境搭建遇到点问题
2012-06-13 18:07 1052执行 ant all 出现问题 The enviro ... -
liferay 未了解的领域
2012-06-07 14:20 05.2中通过SharePoint协议与MS Office整合 ... -
mark liferay 表结构分析
2012-04-26 16:22 1308liferay中每个page(layout)的界面顺序是通过l ... -
几个liferay整合
2012-04-18 09:51 0Liferay integration with LDAP ... -
tomcat启动失败:Failed creating java jvm.dll
2012-03-23 11:59 1684在启动tomcat6时失败,错误信息是: [2011 ... -
Liunx/Solaris/Windows下修改war配置文件
2012-03-03 18:05 10991.将 .war 文件复制到临时目录。 写道 ... -
xpath
2012-01-14 16:53 0使用xpath获得父节点,并修改了父节点的属性的值之后,再去查 ... -
常用的XPath表达式
2012-01-13 12:20 577一些常用的XPath表达式: /catalog/cd/pric ...
相关推荐
AutoReconnect 是一个简单的 Meteor 包,用于将客户端重新连接到服务器。 主要适用于可能会遇到一些离线行为的 Meteor-Cordova / Web 应用程序。 添加包 $ meteor add nspangler:autoreconnect 用法 在客户端,只需...
您使用MongoDBProxy的方式与使用普通MongoDB连接的方式相同,但不必担心自己自行处理自动重新连接。 用法: >>> import pymongo >>> import mongo_proxy >>> safe_conn = mongo_proxy.MongoProxy(pymongo....
hibernate自动重新连接数据库proxool的使用及配置
dbcp连接池优化详解,主要是如何应对链接僵死的现象
名称Otogiri::Plugin::AutoReconnect - (DEPRECATED) Otogiri 插件在连接丢失时自动重新连接概要 use Otogirimy $db = Otogiri->new(...);$db->load_plugin('AutoReconnect');... # do something and connection is ...
c3p0 重新自动连接 c3p0 重新自动连接 c3p0 重新自动连接 &autoReconnect=true
使用数据库连接池技术需在tomcat的server.xml中的 (此处填你的数据库用户名)" password="(此处填你的数据库密码)" driverClassName=...
基于springboot的一个IT人才招聘网站系统源码+数据库,公司可以发布岗位需求,求职者查找岗位并递交简历等。 本地启动部署 2.1 数据库数据源部署 src/main/resources/application.yaml 配置文件: 配置 MySQL 数据库...
SEU-AutoReconnect 用于东南大学有线wlan的在线过长以后不能上网的自动断线重连与自动登录
数据库连接池配置 <br>环境:xp2+IE7.0+tomcat5.028+mysql5.018 <br>1.假定tomcat 安装目录为:D:\Tomcat5 <br>2.假定程序目录为: D:\web\WebRoot <br> 目录设置请看WebRoot.xml 中有下面这句代码:...
自动重新连接自动重新连接 。 该脚本适用于非订户。 当您打开新的IRCCloud页面时,此脚本将重新连接到所需的断开连接的网络。 支持的浏览器:带有Firefox和带有Chrome
一.开发环境 IDEA + JDK8 + MySQL5.7 + navicate 二.技术栈 Springboot+Mybatis+layui 三....数据库地址url修改为 spring.datasource.url=jdbc:mysql://localhost:3306/score?...autoReconnect=true&use
没问题的BUG管理系统(开发版) 此项目是正在开发的一个BUG管理系统,提供了基本的bug管理功能,基本功能如下: 1,项目基本信息维护(创建项目,修改项目信息,项目成员管理) 2,用户管理 3,BUG维护(提交BUG,...
;password=root&useUnicode=true&characterEncoding=gb2312&autoReconnect=true" />
2. 数据库连接要加上zeroDateTimeBehavior=convertToNull参数 jdbc:mysql://127.0.0.1/maildb?autoReconnect=true&characterEncoging=utf8&zeroDateTimeBehavior=convertToNull 3. 完整的配置参数参考...
打开server项目下的dataSourceConfig.xml文件,根据具体使用的数据库配置数据库连接池,下面列出了选用的数据库为Mysql时,连接池的配置: <value>com.mysql.jdbc.Driver</value> <value>jdbc:mysql://${...
HbutClassSys 基于湖北工业大学的课程安排系统。 数据库:MySQL5.7数据库位置:jdbc.driverClassName = ...
BBS论坛系统安装部署说明 1、 安装java虚拟机,jdk版本:1.6 2、 数据库:Mysql5.1 jdbc.driverClassName.mysql=org.gjt.mm.mysql.Driver jdbc.url.mysql=jdbc:mysql://localhost:3306/bbs?useUnicode=true&...
1、数据库MySQL,连接方式有两种,一种直接JDBC,一种通过连接池,代码中有说明 用户root 密码password 不同的进行相应的改变。 <br/>Tomcat数据库连接池配置: Server.xml 增加如下内容:...
使用Struts的Action来对数据库进行增、删、改、查四项操作 <br/>1、数据库MySQL,创建数据库 Pagination MySQL.sql用来创建表结构 <br/>连接方式有两种,一种直接JDBC,一种通过连接池,代码中有说明...