这两天遇到一个mysql连接的问题,找人弄了好几天也没弄好,先看一下报错信息:

====================================================================

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Cannot open connection

at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:596)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)

at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:334)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)

at hitec.dms.element.service.biz.impl.DmsMonitorThreadServiceImpl$$EnhancerByCGLIB$$a293fc8f.findList(<generated>)

at hitec.influence.platform.quartz.ThreadListener.monitorThread(ThreadListener.java:117)

at hitec.influence.platform.quartz.job.GatherJob.process(GatherJob.java:12)

at hitec.influence.platform.quartz.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:377)

at org.quartz.core.JobRunShell.run(JobRunShell.java:202)

at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525) Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open connection

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)

at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)

at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)

at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)

at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)

at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)

at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)

... 11 more Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

at sun.reflect.GeneratedConstructorAccessor248.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)

at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:350)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2393)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)

at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)

at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

at sun.reflect.GeneratedConstructorAccessor43.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)

at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)

at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)

at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)

at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)

at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)

at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)

... 16 more Caused by: java.net.SocketException: 打开的文件过多

at java.net.Socket.createImpl(Socket.java:447)

at java.net.Socket.<init>(Socket.java:421)

at java.net.Socket.<init>(Socket.java:241)

at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:257)

at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)

... 34 more

====================================================================

看到这些报错信息,一直以为是代码里的hibernate建立连接后一直没有断开,直到连接空闲8小时后mysql给断开不让连接,后来一同事以前遇到过这样的问题,其实一直没有注意到下方的一个异常“more Caused by: java.net.SocketException: 打开的文件过多”,因为我的程序是部署在linux上,因为linux有一个ulimit最大打开文件个数,默认是1024(ulimit -a即可查看相关信息),后来查到是别人封装好的jar包里有一个InputStream只有新建打开没有关闭,一直在循环新建打开文件,直到打开超过1024报错,把inputstream加上关闭就OK啦!

转载于:https://www.cnblogs.com/zunpeng/p/5391644.html

MySql连接异常解决相关推荐

  1. Mysql连接异常解决方法

    1.解决:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone va ...

  2. mysql在线检测失败_一则线上MySql连接异常的排查过程

    Mysql作为一个常用数据库,在互联网系统应用很多.有些故障是其自身的bug,有些则不是,这里以前段时间遇到的问题举例. 问题## 当时遇到的症状是这样的,我们的应用在线上测试环境,JMeter测试过 ...

  3. 连接MySql出现异常解决:java.sql.SQLException: The server time zone value is unrecognized or represents。

    QUESTION: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represent ...

  4. idea关于连接mysql数据库异常解决的方法

    ?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDat ...

  5. MySQL连接异常: The server time zone value ‘?й???????‘ is unrecognized or represents more than one time.

    连接MySQL8.0.16版本时报错: Caused by: java.sql.SQLException: The server time zone value '?й???????' is unre ...

  6. linux下mysql连接错误解决

    一些朋友经常在linux下启动mysql时,会遇到下面的错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socke ...

  7. 无线连接中心服务器连接异常,解决Win7/Win8.1的无线网络连接受限故障

    日常计算机使用中,我们会经常遇到网络故障,而网络故障的特点是原因复杂而现象一致,所以解决起来很棘手.本文总结一些Win7/Win8.1下无线网络受限故障的解决思路,供大家一试: 思路一:检查网络及路由 ...

  8. aws rds mysql 连接_解决连接到 Amazon RDS 数据库实例的问题

    如何解决连接到 Amazon RDS 数据库实例时出现的问题? 上次更新时间:2020 年 12 月 21 日 我无法连接到我的 Amazon Relational Database Service ...

  9. mysql连接异常:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zo

    错误信息如下: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone ...

最新文章

  1. MySQL的视图、事务和索引
  2. C++判断一个数字是否为质数
  3. 在linux 5上配置戴尔MD3220i
  4. Leetcode 690
  5. 在没有上传服务器端的情况下看到上传图片的效果图window.createObjectURL
  6. Java 函数式编程的妙用
  7. 黑屏后面藏了什么?--解读微软打击盗版
  8. oracle数据对应函数,Oracle函数取得姓名对应的拼音
  9. Java事务处理总结
  10. 三星 galaxy s7 启用开发者模式
  11. c语言家谱管理系统不是二叉树,二叉树实现的简单家谱管理系统
  12. Pray for 京阿尼——愿逝者安息,伤者早日康复
  13. Python之路(一)
  14. python 安装失败 errorcode 2203_win10系统安装软件出现the error code is 2203错误怎么办...
  15. Teardrop代码编程
  16. 高斯消元法原理及模板
  17. Arduino UNO驱动TM1637四位时钟数码管显示时间
  18. 一键复制粘贴工具使用教程
  19. 【CSS】字体、行高、文本对齐
  20. 【NOIP模拟】行走

热门文章

  1. 巨控 自建服务器,GRM云服务器的Web数据接口.PDF
  2. ubuntu 16.04 配置Python2.7 和 Python3.5 同时调用OpenCV
  3. CocosPods 引入项目,哪些文件需要上传到服务器呢?
  4. 2016年11月13日周工作知识点总结
  5. 【WIN10】WIN2D——基本圖形的繪製
  6. PS 色调——老照片效果
  7. soureTree中如何设置git 用户名与密码 SourceTree提交修改用户详细图文方法
  8. 自执行匿名函数剖析整理
  9. Vue中使用input简易的上传图片
  10. arguments使用