我们正在使用Grails 2.5.3针对MySQL数据库运行,并且最近引入了第二个数据源定义。我们在调用多个事务服务的非事务性服务中获得以下异常。尝试启动第二个事务时发生异常:
» 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 :(得分:0)
我们遇到过同样的问题但不是两个不同的数据源。我们的应用程序使用的是Hibernate和iBatis,虽然hibernate部分集成在grails中并且工作正常,但是当调用第二个连续事务时,iBatis代码给出了上述问题。
为了解决这个问题,我们在resources.groovy中创建了另一个数据源,并使用iBatis代码和这个新的数据源。您可以参考Grails Pooled Connection Exception了解我们解决方案的配置详情。