2010-01-28 3 views
1

EJB 2.x 스펙은 중첩 트랜잭션을 지원하지 않습니다. 그러나 실제로 논리적으로 트랜잭션을 시작한 다른 EJB 메소드의 REQUIRES_NEW txn 속성을 가진 EJB 메소드를 호출 할 수 있다고 생각하십시오. 유효하지 않습니다. 이것이 유효하지 않은 경우 중첩 된 트랜잭션이라고합니다.J2EE 1.4의 중첩 트랜잭션 지원

여기에 아무것도없는 경우 알려주십시오.

답변

1

REQUIRES_NEW 전파는 의미

는, 새로운 트랜잭션을 만들기가있는 경우는 현재 트랜잭션을 일시 중지합니다.

따라서 트랜잭션은 중첩되지 않습니다. 첫 번째 트랜잭션은 일시 중지되고 방해가되지 않으며 관련이없는 새로운 트랜잭션이 시작됩니다.

실제로 트랜잭션을 중첩 할 필요는 없으며 트랜잭션 경계를 통과 할 때마다 기존 트랜잭션을 상속 받거나 새 트랜잭션을 시작해야합니다. 기본 전파 PROPAGATION_REQUIRED은 일반적으로 충분합니다.

흥미롭게도 JDBC 3.0에서는 중첩 트랜잭션 개념을 도입했지만 EBJ 사양은 아직 따라 잡지 못하고 있습니다.