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);
}
}