2011-01-27 1 views
1

연결 풀을 사용할 때 은 연결의 autocommit = false를 설정합니다. 이 연결에만 영향을 줍니까?은 자동 연결이 모든 연결에 영향을 줍니까?

autocommit = true로 설정하지 않고이 연결을 닫고 을 새로 연결하면이 연결의 정책이 autocommit = true로 설정됩니까?

답변

1

대답은 "사용 된 연결 풀에 따라 달라집니다"라는 의미입니다.

그러나 연결 풀인 경우 초기 구성에 따라 자동 커밋 상태가 복원되었을 것입니다. 나는 다른 연결 풀도 똑같이 할 것이라고 생각한다.

0

테스트 시나리오 :

  1. 설정 자동 커밋 = 거짓
  2. 사용 거래
  3. 는 = 자동 커밋 다시 진정한

결과를을 설정하지 않고 연결을 닫습니다 때 특정 연결 여전히 자동 커밋 = false (다른 새로운 연결은 defau lt autocommit = true). 그래서 일단 을 죽이면 데이터베이스 측에서이 연결을 다시 호출하고 내 코드를 다시 호출하면 풀만 기본 autocommit = true와의 새로운 연결을 제공합니다.

결론 :이 메시지는 연결에만 영향을 미치지 만, 닫기 전에 autocommit = true로 설정했는지 확인하십시오!

주 (이것을 실제 테스트가 아닌 가정에 기초) :이 beahvior 너무 주목된다 http://www.coderanch.com/t/583969/JDBC/databases/Tomcat-connection-pool-auto-commit

내가 Tomcat7, 자바 1.7, MySQL5.6, 커넥터/J 5.1 JDBC를 사용합니다.