javax.transaction.UserTransaction(ut)을 사용하는 Global Transaction의 기본적인 구조는 아래와 같다.
-----------------------
시간 소스
0초 ut.begin();
1초 select(); -> SQL Timeout
2초 insert() -> SQL Timeout
3초 update(); -> SQL Timeout
4초 delete(); -> SQL Timeout
5초 ut.commit(); -> Transaction Timeout
-----------------------
* Transaction Timeout : begin() ↔ commit() 사이의 최대시간
* SQL Timeout : 각각 SQL 단위 수행 최대시간
이와 같이 UserTransaction을 사용하는 Global Transaction에서 고려해야 할 기본적인 Timeout은
Transaction Timeout과 SQL Timeout 이다.
즉, 위의 예제를 보면,
총 Transaction 수행 시간은 5초이므로, Transaction Timeout 은 5초 보다 커야 하고,
SQL 수행시간은 1초이므로, SQL Timeout은 1초보다 커야한다.
<Timeout 설정값 비교>
구분 |
UserTransaction |
JEUS 5.0 |
Transaction Timeout |
setTransactionTimeout |
<active-timeout> |
SQL Timeout |
- |
<stmt-query-timeout> |
댓글 없음:
새 댓글을 작성할 수 없습니다.