2015-09-29 47 views
1

我有一個Spring提供了一個Rest服務和一個調用Rest端點的網頁。在Spring後面我有一個Mysql數據庫和JPA來訪問它。Spring JPA不一致的響應

最近,當我的網頁調用端點時,他們一直在返回不一致的響應。也就是說,有時響應是預期的結果,其他時候是兩個異常中的一個。

Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.TransactionException: JDBC begin transaction failed: 
Could not roll back JPA transaction; nested exception is javax.persistence.PersistenceException: unexpected error when rollbacking 

爲了讓事情變得更奇怪,當我手動在瀏覽器中調用端點時,我總是得到預期的響應。 我的網頁在很短的時間內撥打6或7個終端,這可能是問題嗎?如果不是的話,有什麼想法可能會導致這種行爲?

回答

0

由此看來,您的數據庫很可能會收到太多的請求,並且這些請求會被超時並導致異常。但是,只能確定是否還檢查數據庫的日誌,因爲它會提供有關連接斷開原因的信息。

如果是這樣的話,你可以去一些方法:

  • 增加超時時間對Web容器和/或數據庫
  • 嘗試的一側,以降下的數量請求數據庫
  • 優化連接池,因此您不會中止超時