ActivitySession 및 트랜잭션 컨테이너 정책 조합
이 주제에서는 컨테이너가 ActivitySession 경계를 관리하는 방식을 판별하는 배치 디스크립터 특성 사이의 관계에 대한 세부사항을 제공합니다.
엔터프라이즈 Bean이 ActivitySession을 사용하는 경우, 메소드 호출을 위임할 때 EJB 컨테이너가 ActivitySession 경계를 관리하는 방식은 엔터프라이즈 Bean에 구성된 ActivitySession 종류 및 컨테이너 트랜잭션 유형 배치 디스크립터 속성에 따라 다릅니다. 다음 표에서는 이들 두 특성 사이의 관계를 나열합니다.
각 행에서 마지막 열은 EJB 컨테이너가 다음 약어에 기반하여
글로벌 트랜잭션 및 ActivitySession 컨텍스트에 대한 응답으로 취하는 작동을
설명합니다.
- Sn
- ActivitySession. 여기서, n은 ActivitySession 인스턴스를 표시합니다.
- Tn
- 트랜잭션. 여기서 n은 트랜잭션 인스턴스를 나타냅니다.
컨테이너가 시작하지 않거나 글로벌 트랜잭션 컨텍스트를 스레드와 연관된 채로 두지 않는 모든 경우에, 이는 로컬 트랜잭션 포함을 시작하고(또는 Bean 인스턴스에서 확보하여) 스레드와 연관시킵니다. 로컬 트랜잭션 포함 지속 기간은 로컬 트랜잭션 경계 디스크립터(애플리케이션 배치 디스크립터의 일부로 구성되었지만 다음 테이블에 보이지 않음) 및 ActivitySessions 및 트랜잭션 컨텍스트에 설명된 ActivitySession 컨텍스트의 존재 여부의 조합으로 판별됩니다.
굵은체로 강조표시된 행은 허용되지 않습니다.
Bean ActivitySession 정책(ActivitySession 유형) | Bean 트랜잭션 정책(Container 트랜잭션 유형) | 수신된 컨텍스트 | 컨테이너 동작 |
---|---|---|---|
Required | Required | 없음 | S1 시작, T1 시작 |
S1 | T1 시작 | ||
T1 | T1 일시중단, S1 시작, T2 시작 | ||
S1, T1 | 조치 없음 | ||
신규 필요 | 없음 | S1 시작, T1 시작 | |
S1 | T1 시작 | ||
T1 | T1 일시중단, S1 시작, T2 시작 | ||
S1, T1 | T1 일시중단, T2 시작 | ||
지원 | 없음 | S1 시작 | |
S1 | 조치 없음 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | 조치 없음 | ||
지원 안됨 | 없음 | S1 시작 | |
S1 | 조치 없음 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | T1 일시중단 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 예외 | ||
S1, T1 | 조치 없음 | ||
수행 안함 | 없음 | S1 시작 | |
S1 | 조치 없음 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | 예외 | ||
신규 필요 | Required | 없음 | S1 + T1 시작 |
S1 | S1 일시중단, S2 + T1 시작 | ||
T1 | T1 일시중단, S1 + T2 시작 | ||
S1 + T1 | S1 + T1 일시중단, S2 + T2 시작 | ||
신규 필요 | 없음 | S1 + T1 시작 | |
S1 | S1 일시중단, S2 + T1 시작 | ||
T1 | T1 일시중단, S1 + T2 시작 | ||
S1 + T1 | S1 + T1 일시중단, S2 + T2 시작 | ||
지원 | 없음 | S1 시작 | |
S1 | S1 일시중단, S2 시작 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | S1 + T1 일시중단, S2 시작 | ||
지원 안됨 | 없음 | S1 시작 | |
S1 | S1 일시중단, S2 시작 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | S1 + T1 일시중단, S2 시작 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 예외 | ||
S1, T1 | 예외 | ||
수행 안함 | 없음 | S1 시작 | |
S1 | S1 일시중단, S2 시작 | ||
T1 | T1 일시중단, S1 시작 | ||
S1, T1 | S1 + T1 일시중단, S2 시작 | ||
지원 | Required | 없음 | T1 시작 |
S1 | T1 시작 | ||
T1 | 조치 없음 | ||
S1, T1 | 조치 없음 | ||
신규 필요 | 없음 | T1 시작 | |
S1 | T1 시작 | ||
T1 | T1 일시중단, T2 시작 | ||
S1, T1 | T1 일시중단, T2 시작 | ||
지원 | 없음 | 조치 없음 | |
S1 | 조치 없음 | ||
T1 | 조치 없음 | ||
S1, T1 | 조치 없음 | ||
지원 안됨 | 없음 | 조치 없음 | |
S1 | 조치 없음 | ||
T1 | T1 일시중단 | ||
S1, T1 | T1 일시중단 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 조치 없음 | ||
S1, T1 | 조치 없음 | ||
수행 안함 | 없음 | 조치 없음 | |
S1 | 조치 없음 | ||
T1 | 예외 | ||
S1, T1 | 예외 | ||
지원 안됨 | Required | 없음 | T1 시작 |
S1 | S1 일시중단, T1 시작 | ||
T1 | 조치 없음 | ||
S1, T1 | S1 + T1 일시중단, T2 시작 | ||
신규 필요 | 없음 | T1 시작 | |
S1 | S1 일시중단, T1 시작 | ||
T1 | T1 일시중단, T2 시작 | ||
S1, T1 | S1 + T1 일시중단, T2 시작 | ||
지원 | 없음 | 조치 없음 | |
S1 | S1 일시중단 | ||
T1 | 조치 없음 | ||
S1, T1 | S1 + T1 일시중단 | ||
지원 안됨 | 없음 | 조치 없음 | |
S1 | S1 일시중단 | ||
T1 | T1 일시중단 | ||
S1, T1 | S1 + T1 일시중단 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 조치 없음 | ||
S1,T1 | 예외 | ||
수행 안함 | 없음 | 조치 없음 | |
S1 | S1 일시중단 | ||
T1 | 예외 | ||
S1, T1 | S1 + T1 일시중단 | ||
필수 | Required | 없음 | 예외 |
S1 | T1 시작 | ||
T1 | 예외 | ||
S1, T1 | 조치 없음 | ||
신규 필요 | 없음 | 예외 | |
S1 | T1 시작 | ||
T1 | 예외 | ||
S1, T1 | T1 일시중단, T2 시작 | ||
지원 | 없음 | 예외 | |
S1 | 조치 없음 | ||
T1 | 예외 | ||
S1, T1 | 조치 없음 | ||
지원 안됨 | 없음 | 예외 | |
S1 | 조치 없음 | ||
T1 | 예외 | ||
S1, T1 | T1 일시중단 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 예외 | ||
S1, T1 | 조치 없음 | ||
수행 안함 | 없음 | 예외 | |
S1 | 조치 없음 | ||
T1 | 예외 | ||
S1,T1 | 예외 | ||
수행 안함 | Required | 없음 | T1 시작 |
S1 | 예외 | ||
T1 | 조치 없음 | ||
S1, T1 | 예외 | ||
신규 필요 | 없음 | T1 시작 | |
S1 | 예외 | ||
T1 | T1 일시중단, T2 시작 | ||
S1,T1 | 예외 | ||
지원 | 없음 | 조치 없음 | |
S1 | 예외 | ||
T1 | 조치 없음 | ||
S1,T1 | 예외 | ||
지원 안됨 | 없음 | 조치 없음 | |
S1 | 예외 | ||
T1 | T1 일시중단 | ||
S1,T1 | 예외 | ||
필수 | 없음 | 예외 | |
S1 | 예외 | ||
T1 | 조치 없음 | ||
S1,T1 | 예외 | ||
수행 안함 | 없음 | 조치 없음 | |
S1 | 예외 | ||
T1 | 예외 | ||
S1,T1 | 예외 | ||
빈 관리 | 빈 관리 | 없음 | 조치 없음 |
S1 | S1 일시중단 | ||
T1 | T1 일시중단 | ||
S1, T1 | S1 + T1 일시중단 |