검사점을 활성화하면 트랜잭션이 롤백된 경우에도 일반적으로 Bean이트랜잭션을 완료한 후에 검사점이 지정됩니다. Bean의 상태를 크게 바꾸는 비트랜잭션 비즈니스 메소드의 끝에 SFSB의 선택적 검사점을 지정하려면 sun-ejb-jar.xml 배포 설명자 파일의 ejb 요소에 있는 checkpoint-at-end-of-method 요소를 사용합니다.
checkpoint-at-end-of-method 요소의 비트랜잭션 메소드는 다음과 같을 수 있습니다.
작성 직후에 SFSB의 초기 상태에 검사점을 지정하려는 경우 SFSB의 홈 인터페이스에 정의된 create() 메소드
컨테이너 관리 트랜잭션만 사용하는 SFSB의 경우, 트랜잭션 속성 TX_NOT_SUPPORTED 또는 TX_NEVER로 표시된 Bean의 원격 인터페이스에 있는 메소드
Bean 관리 트랜잭션만 사용하는 SFSB의 경우, Bean 관리 트랜잭션이 시작되지도 완결되지도 않은 메소드
이 목록에 언급된 다른 모든 메소드는 무시됩니다. 이러한 각 메소드의 호출이 끝나면 EJB 컨테이너는 SFSB의 상태를 지속형 저장소에 저장합니다.
SFSB가 트랜잭션에 참여하지 않고 어떠한 메소드도 checkpoint-at-end-of-method 요소에 명시적으로 지정되지 않았으면 이 Bean에 대해 availability-enabled="true"인 경우에도 Bean의 상태는 검사되지 않습니다.
더 나은 성능을 위해 적은 수의 메소드를 지정하십시오. 이러한 메소드는 많은 양의 작업을 수행하거나 Bean의 상태를 크게 바꿉니다.
<sun-ejb-jar> ... <enterprise-beans> ... <ejb availability-enabled="true"> <ejb-name>ShoppingCartEJB</ejb-name> <checkpoint-at-end-of-method> <method> <method-name>addToCart</method-name> </method> </checkpoint-at-end-of-method> </ejb> ... </enterprise-beans> </sun-ejb-jar>