다음을 통해 공유


보정 블록 추가 방법

사용자 지정 보정을 추가하지 않으면 런타임 엔진이 현재 트랜잭션 내에서 중첩된 트랜잭션의 보정을 호출하는 기본 보정을 수행합니다. 런타임 엔진은 먼저 가장 최근에 완료된 트랜잭션의 보정을 호출하고 중첩된 모든 트랜잭션이 보정될 때까지 반대 방향으로 작업을 진행합니다.

이는 보상이 루프 셰이프 내에서 발생하는 경우에도 마찬가지입니다. 보정은 역순으로 실행됩니다. 먼저 루프의 마지막 반복에 대한 보정이 호출된 다음 이전 반복에 대한 보정이 호출되는 식입니다.

주의

보정이 작동하기 위해 데이터가 실제 메모리에 보관되기 때문에 루프 내에서 보정을 사용하면 성능에 영향을 줄 수 있으며 이는 많은 반복이 발생하는 경우 문제가 될 수 있습니다.

기본 정렬이 요구 사항에 맞지 않는 경우 지정한 순서대로 중첩 범위의 보정 핸들러를 명시적으로 호출하는 사용자 지정 보정 핸들러를 작성할 수 있습니다.

보정 블록을 추가하려면 다음을 수행하십시오.

  1. 보정 블록을 추가할 트랜잭션의 범위 셰이프를 마우스 오른쪽 단추로 클릭한 다음 새 보정 블록을 클릭합니다.

    참고

    범위 셰이프에 보정 블록을 추가하려면 범위 셰이프의 트랜잭션 형식 속성을 원자성 또는 장기 실행으로 설정해야 합니다.

    보정 블록은 연결된 범위 셰이프 바로 다음에 오케스트레이션에 추가됩니다.

  2. 보정 블록 셰이프 내에 셰이프를 추가하여 커밋된 트랜잭션을 실행 취소하는 프로세스를 만듭니다.