Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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
Java 长时间不活动后tomcat没有响应_Java_Mysql_Hibernate_Tomcat_C3p0 - Fatal编程技术网

Java 长时间不活动后tomcat没有响应

Java 长时间不活动后tomcat没有响应,java,mysql,hibernate,tomcat,c3p0,Java,Mysql,Hibernate,Tomcat,C3p0,我正在使用hibernate c3p0和mysql数据库,我的c3p0配置如下: 一, <property name="hibernate.c3p0.idle_test_period">100</property> <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.max_size"&

我正在使用hibernate c3p0和mysql数据库,我的c3p0配置如下: 一,

    <property name="hibernate.c3p0.idle_test_period">100</property>
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.max_size">20</property>        
        <property name="hibernate.c3p0.max_statements">0</property>
        <property name="hibernate.c3p0.timeout">200</property>
<property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
100
5.
20
0
200
org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
它工作正常,但当服务器长时间处于空闲状态(如8-10小时)时会出现问题,tomcat在此之后没有响应,而且任何一方(mysql、hibernate、tomcat)都没有异常的错误日志。它让我一直在等待响应(我们正在对servlet进行httprequest),但不会抛出任何错误,我在tomcat日志上看不到任何错误日志


所以我不确定这是否是c3p0或mysql的问题,任何人都可以帮助,非常感谢

当数据库位于一个单独的盒子上,并且中间有一个防火墙,设置为超时空闲连接时

在某些情况下,防火墙会以JDBC端无法检测到的方式切断连接,试图使用它会导致无限阻塞


如果它是一个自定义连接池,在从池中返回测试查询之前,它向连接发送了一个测试查询。使用“Statement.setQueryTimeout”将此测试查询配置为具有超时,以便它不会无限期阻塞。

请参阅可能重复的“对不起,我没有通过此帖子”,我应该增加空闲测试周期还是删除此属性设置空闲测试周期将导致类似于测试发生的ping,它是好是坏,我可以增加这个吗?你能建议吗