1
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<property name="defaultTimeout" value="400" />
</bean>
春天JpaTransactionManager接口缺省是-1.In我來說,我已經覆蓋defaultTimeout 400 sec.So,如果我重寫它,然後它會超時指定後defaultTimeout時間。
DataSourceTransactionManager對象上綜觀代碼類
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);
}
}
所以,如果超時值不等於-1,則超時我已指定爲多發性由1000和一個用於timeout.But,以防我沒有重寫超時值,那麼它將是-1。
因此,默認值爲-1時會發生超時。
是否超時當MySql.Data.MySqlClient.MySqlException:超時過期異常被拋出? 有什麼建議嗎?