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
Java hibernate配置:应用程序端不活动后连接超时_Java_Hibernate_Configuration_Connection - Fatal编程技术网

Java hibernate配置:应用程序端不活动后连接超时

Java hibernate配置:应用程序端不活动后连接超时,java,hibernate,configuration,connection,Java,Hibernate,Configuration,Connection,我使用hibernate处理数据库事务。我们的应用程序在每次执行流时都会给出一个错误,我们每天都会得到低于错误的消息,并发布我们停止得到这些问题的消息 因此,我的第一个疑问仍然是,不知何故,我们正在使用一个已经超时的空闲连接。公平地说,我们总是可以使用hibernate.cfg.xml处理这一部分 因此,我偶然发现了各种方法,即通过在hibernate的配置中添加以下任何参数,我们应该能够解决相同的问题,但它们都不能解决我在这里避免空闲连接的目的,因为空闲连接在每天开始时都会导致“连接超时”故障

我使用hibernate处理数据库事务。我们的应用程序在每次执行流时都会给出一个错误,我们每天都会得到低于错误的消息,并发布我们停止得到这些问题的消息

因此,我的第一个疑问仍然是,不知何故,我们正在使用一个已经超时的空闲连接。公平地说,我们总是可以使用hibernate.cfg.xml处理这一部分

因此,我偶然发现了各种方法,即通过在hibernate的配置中添加以下任何参数,我们应该能够解决相同的问题,但它们都不能解决我在这里避免空闲连接的目的,因为空闲连接在每天开始时都会导致“连接超时”故障:

<property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
<property name="hibernate.c3p0.idle_test_period">30</property>
我的hibernate.cfg.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
        <!-- <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> -->
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="hibernate.default_schema">ECMREPORT</property>
        <property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
        <property name="hibernate.c3p0.timeout">600</property>
        <property name="hibernate.c3p0.maxIdleTimeExcessConnections">20</property>
        <property name="hibernate.c3p0.validate">false</property>
        <property name="hibernate.c3p0.idle_test_period">30</property>
        <property name="hibernate.c3p0.automaticTestTable">conTestTable</property>
        <property name="show_sql">true</property>
        <!--  <property name="hibernate.hbm2ddl.auto">update</property>-->
        <mapping class="com.prod.ecmrs.dao.entity.AuditTrail"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.ECMConfigDetail"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.BSCSFUP"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.BSCSRoaming"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.BSCSRatePlan"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.BSCSService"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.OFSPlans"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.OFSPacks"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.CRMPlans"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.CRMPacks"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.ProjectPlan"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.ProductionDumpReport"></mapping>
        <mapping class="com.prod.ecmrs.dao.entity.RAITReportDump"></mapping>
    </session-factory>
</hibernate-configuration>

org.hibernate.dialen.oracle10galent
电子病历报告
符合事实的
600
20
错误的
30
可竞争的
符合事实的

是关于建立与数据库的连接。您是否尝试增加登录超时的持续时间

<property name="hibernate.c3p0.timeout">180</property>
180

是的,如果您看到我附加的hibernate配置,我将其增加到600file@Parul,您解决问题了吗?这是一个系统问题。由于我尝试了其他服务器上已有的hibernate配置文件,所以没有遇到任何其他问题。
<property name="hibernate.c3p0.timeout">180</property>