Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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 默认值为-1的spring事务何时超时?_Java_Mysql_Spring_Spring Transactions - Fatal编程技术网

Java 默认值为-1的spring事务何时超时?

Java 默认值为-1的spring事务何时超时?,java,mysql,spring,spring-transactions,Java,Mysql,Spring,Spring Transactions,这是我的豆子 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> <property name="defaultTimeout" value="400" />

这是我的豆子

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
          <property name="defaultTimeout" value="400" />            
    </bean>
所以,若超时值不等于-1,那个么我指定的超时值是1000的倍数,用于超时。但,若我并没有覆盖超时值,那个么它将是-1

那么,默认值-1将在何时超时。

抛出MySql.Data.MySqlClient.MySqlException:Timeout expired异常时是否超时?
有什么建议吗?

当服务器超时时,MySql本身也有自己的超时。在调试模式下对几个不同的长时间运行的查询进行基准测试,如果您看到异常所花费的时间相同,那么这就是服务器超时

int timeout = determineTimeout(definition);
            if (timeout != -1) {
                txObject.getConnectionHolder().setTimeoutInSeconds(timeout);
            }


public void setTimeoutInSeconds(int seconds) {
        setTimeoutInMillis(seconds * 1000);
        public void setTimeoutInMillis(long millis) {
        this.deadline = new Date(System.currentTimeMillis() + millis);
    }
}