Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试在大约39分钟后关闭的MySQL连接的最佳方法?_Mysql_Hibernate_Spring_C3p0 - Fatal编程技术网

调试在大约39分钟后关闭的MySQL连接的最佳方法?

调试在大约39分钟后关闭的MySQL连接的最佳方法?,mysql,hibernate,spring,c3p0,Mysql,Hibernate,Spring,C3p0,我有hibernate 3.3、c3p0、MySql 5.1和Spring。 我的服务调用中的MySQL连接总是在大约39分钟后关闭。我的服务电话的自然运行时间约为5小时 我尝试过改变各种c3p0配置等,以避免39分钟的上限。不走运 是否有更直接、更系统的方法来记录或排除故障?i、 e.我可以找出为什么要关闭连接,由谁关闭,在哪一层 更新:堆栈跟踪 24 Oct 2010 02:22:12,262 [WARN] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foob

我有hibernate 3.3、c3p0、MySql 5.1和Spring。 我的服务调用中的MySQL连接总是在大约39分钟后关闭。我的服务电话的自然运行时间约为5小时

我尝试过改变各种c3p0配置等,以避免39分钟的上限。不走运

是否有更直接、更系统的方法来记录或排除故障?i、 e.我可以找出为什么要关闭连接,由谁关闭,在哪一层

更新:堆栈跟踪

24 Oct 2010 02:22:12,262 [WARN] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.util.JDBCExceptionReporter: SQL Error: 0, SQLState: 08003
24 Oct 2010 02:22:12,264 [ERROR] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.util.JDBCExceptionReporter: No operations allowed after connection closed.
24 Oct 2010 02:22:12,266 [ERROR] 012e323c-df4b-11df-89ed-97e9a9c1ac19 (Foobar Endpoint : 3) org.hibernate.event.def.AbstractFlushingEventListener: Could not synchronize database state with session

自动重新连接配置


自动重新连接配置

我有hibernate 3.3、c3p0、MySql 5.1和Spring。我的服务调用中的MySQL连接总是在大约39分钟后关闭。我的服务电话的自然运行时间约为5小时

我不确定我是否理解。您是否有本应运行5小时但当前在~39mn(或可能2400秒)后中止的进程。你能证实吗?以前的工作是什么?你有什么改变吗

同时,以下是一些想法:

  • 从数据库开始(请参阅)
    • 使用该选项启动服务器,并检查日志中是否有可疑消息
    • 查看是否可以使用数据库主机上的MySQL客户端重现该问题
    • 如果可行,请在应用服务器机器上执行相同的操作
    • 如果成功了,你就会知道MySQL还可以
  • 在应用服务器级别移动
    • 激活(Hibernate和)日志记录,以获取完整堆栈跟踪和/或有关罪犯的更多提示
    • 另外,请显示您的C3P0配置设置
不要忘记,在使用Hibernate时,C3P0的配置是,一些设置必须放在
C3P0.properties
文件中

我有hibernate 3.3、c3p0、MySql 5.1和Spring。我的服务调用中的MySQL连接总是在大约39分钟后关闭。我的服务电话的自然运行时间约为5小时

我不确定我是否理解。您是否有本应运行5小时但当前在~39mn(或可能2400秒)后中止的进程。你能证实吗?以前的工作是什么?你有什么改变吗

同时,以下是一些想法:

  • 从数据库开始(请参阅)
    • 使用该选项启动服务器,并检查日志中是否有可疑消息
    • 查看是否可以使用数据库主机上的MySQL客户端重现该问题
    • 如果可行,请在应用服务器机器上执行相同的操作
    • 如果成功了,你就会知道MySQL还可以
  • 在应用服务器级别移动
    • 激活(Hibernate和)日志记录,以获取完整堆栈跟踪和/或有关罪犯的更多提示
    • 另外,请显示您的C3P0配置设置


不要忘记,在使用Hibernate时C3P0的配置是,一些设置必须放在
C3P0.properties
文件中。

看看这个:你有stacktrace吗?如果是,请将其添加到问题中。客户端和mysql服务器之间是否有防火墙?或者在任何一台计算机上?更改maxPoolSize。如果连接在一个明显不同的时间断开,您将遭受连接泄漏(无法获得更多连接);客户机和服务器在同一台机器上查看:是否获得stacktrace?如果是,请将其添加到问题中。客户端和mysql服务器之间是否有防火墙?或者在任何一台计算机上?更改maxPoolSize。如果连接在一个明显不同的时间断开,您将遭受连接泄漏(无法获得更多连接);客户端和服务器在同一台机器上。。。你到底是什么意思?此链接没有解释为什么在39mn之后连接会关闭(配置连接池以续订连接也无济于事)。我错过什么了吗?嗯。。。你到底是什么意思?此链接没有解释为什么在39mn之后连接会关闭(配置连接池以续订连接也无济于事)。我遗漏了什么吗?我的过程是批量处理,工作量很大。我人为地限制了工作量——它在10分钟内完成。当我增加工作负载大小时,关闭的连接大约需要34到39分钟。MySQL查询日志确认连接是由客户端而不是MySQL本身结束的。客户端启动回滚,然后打开一个新的(不同的)连接。@Aaron好的,这是诊断中有趣的第一步。您是否在客户端获得任何有用的stacktrace(完整stacktrace)?为什么它要回滚事务?是连接池本身而不是MySQL关闭了连接,从而回滚了它。我现在有一个工作c3p0配置没有关闭连接,尽管我不能完全解释为什么。仍在调查中。我的流程是批量处理大量工作负载。我人为地限制了工作量——它在10分钟内完成。当我增加工作负载大小时,关闭的连接大约需要34到39分钟。MySQL查询日志确认连接是由客户端而不是MySQL本身结束的。客户端启动回滚,然后打开一个新的(不同的)连接。@Aaron好的,这是诊断中有趣的第一步。您是否在客户端获得任何有用的stacktrace(完整stacktrace)?为什么它要回滚事务?是连接池本身而不是MySQL关闭了连接,从而回滚了它。我现在有一个工作c3p0配置没有关闭连接,尽管我不能完全解释为什么。仍在调查中。