2013-09-03 4 views
0

Hibernate와 Spring을 사용하면, 내 애플 리케이션은 모든 데이터베이스 업데이트의 시작과 끝에서 연결을 조작 할 수있는 기회를 얻을 필요가있다. 첫 번째 추측은 트랜잭션 관리자를 오버라이드하는 것이지만 간헐적 인 "Pre-bound JDBC Connection found"에서 몇 가지 부작용이있는 것으로 보입니다. 증상을 설명하는 데 몇 가지 다른 오류가 있습니다.Connection get/return listener?

가장 좋은 방법은 가장 쉽고/쉬운 방법입니다. 누군가가 데이터 소스를 재정의 한 다음 연결을 래핑하는 것이 좋습니다.하지만 실제로 가장 좋은 아이디어입니까? 연결을 래핑하는 것은 위험 해 보입니다. 특히 Websphere에는 자체 버전 (WS 연결)이 있으므로 위험합니다.

아이디어가 있으십니까?

답변

0

DataSource.getConnection이 완료되면 가장 쉬운 방법으로 연결을 조작합니다. 그런 식으로 어떤 일이 일어날 것입니다. 따라서 DataSourceProxy/-Wrapper (이름 지정)를 작성하면됩니다. 당신이 돌봐야 할 한 가지가 있습니다. 아마도 연결이 닫혀있을 때 조작을 취소해야합니다 (필요한 경우).

프록시를 만드는 대신 코드를 실행하기 위해 AOP를 사용할 수 있습니다 (예 : this answer.

).