2016-08-04 63 views
0

我們正在使用針對MySQL數據庫的Grails 2.5.3,並且最近引入了第二個數據源定義。在調用多個事務服務的非事務服務中,我們得到以下例外。PooledConnection已關閉多個數據源錯誤

» 3 Aug 2016 16:49:44.119 PooledConnection has already been closed.. Stacktrace follows: 
» 3 Aug 2016 16:49:44.119 java.sql.SQLException: PooledConnection has already been closed. 

好像Grails是關閉的第二個數據源的連接的第一個交易結束後,並試圖重新使用連接:當它試圖啓動第二交易發生的異常。我想知道是否有人看過這個和/或解決它。

回答

0

我們遇到了同樣的問題,但不是針對兩個不同的數據源。我們的應用程序使用Hibernate和iBatis,雖然hibernate部分集成在grails中,並且工作正常,但是當第二個連續事務被調用時,iBatis代碼給出了上述問題。

爲了解決這個問題,我們在resources.groovy中創建了另一個數據源,並在這個新的數據源中使用了iBatis代碼。您可以參考Grails Pooled Connection Exception瞭解我們解決方案的配置細節。

+0

但是,要注意這只是一個黑客。我們仍在尋找更好的解決方案。如果你能找到更好的東西或縮小問題的原因,請告訴我。 – Maria