2016-08-04 2 views
0

우리는 MySQL 데이터베이스에 대해 Grails 2.5.3을 실행 중이며 최근에는 두 번째 데이터 소스 정의를 소개했습니다. 여러 트랜잭션 서비스를 호출하는 비 트랜잭션 서비스에서 다음과 같은 예외가 발생합니다. Grails의 첫 번째 트랜잭션이 끝난 후 두 번째 데이터 소스에 대한 연결을 종료하고 해당 연결을 다시 사용하려고하는 것 같다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. 

: 그것은 두 번째 트랜잭션을 시작하려고 할 때 예외가 발생합니다. 나는 누군가가 이것을 보았는지, 그리고/또는 주위에서 일했는지 궁금합니다.

답변

0

우리는 동일한 문제에 직면했지만 두 가지 다른 데이터 소스에는 맞지 않았습니다. 우리의 응용 프로그램은 Hibernate와 iBatis를 사용하고 있었고 최대 절전 부분이 grails 내에 통합되어 잘 작동하는 동안 iBatis 코드는 두 번째 연속 트랜잭션이 호출되었을 때 언급 된 문제를 발생 시켰습니다.

이 문제를 해결하기 위해 resources.groovy에 다른 데이터 소스를 만들고이 새로운 데이터 소스로 iBatis 코드를 사용했습니다. 우리 솔루션의 구성 세부 사항은 Grails Pooled Connection Exception을 참조하십시오.

+0

그러나 이것은 단지 해킹입니다. 우리는 여전히 더 나은 솔루션을 찾고 있습니다. 문제의 원인을 더 잘 찾거나 좁힐 수 있는지 알려주세요. – Maria

관련 문제