<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="regi*" propagation="REQUIRED" />
<tx:method name="delt*" propagation="REQUIRED" />
<tx:method name="updt*" propagation="REQUIRED" />
<tx:method name="*TxNew" propagation="REQUIRES_NEW" />
<tx:method name="*TxMandatory" propagation="MANDATORY" />
<tx:method name="*TxNotSupported" propagation="NOT_SUPPORTED" />
<tx:method name="*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>
세부사항은 어노테이션과 같다.
name = 메서드명
timeout = 제한시간 -> 디폴트 -1 제한없음
propagation = 전파옵션 기본값 -> required
required - > 부모트랜잭션 내에서 실행하며 부모트랙잭션이 없으면 새로 만듬
requires_new -> 부모트랙션을 무시하고 무조건 새로운걸 만든다.
support -> 부모트랙잭션 내에서 실행하며 부모 가없을경우 nontransactionally로 실행
mandatory : 부모 트랙잭션내에서 실행되며 부모 트랙잭션이 없을경우 예외
not _support : nontransactionally로 실행되고 부모트랜젝션내에서 실행될경우 일시정지
never : nontransactionally로 실행되며 부모가 존재하면 예외발생
nested : 해당 메서드가 부모트랙잭션에서 진행ㄷ죌경우 별개로 커밋되거나 롤백될수있다. 트랙재션이 둘러쌓여있지않으면 required와 같다.
isolation - 격리수준 기본값 - default
default - > 기본격리 수준
serialzable - >가장 높은 수준의 격리
read_uncommitted : 커밋되지않은 데이터의 대한 읽기를 허용
read_committed : 커밋된 트랙잭션에 대해 읽기를 허용
repeatable_read : 동일한 필드에 대한 다중 접근시 동일한 결과를 얻을수있는것을 보장함.
read-only : 일기전용 기본 값 false
rollback- for - 예외처리 기본값 runtimeExcception
특정 에외 발생해슬때 롤백
no-rollback-for 예외가 발생해도 롤백 처리 안함
'오락기 > spring' 카테고리의 다른 글
ControllerClassNameHandlerMapping (0) | 2017.11.16 |
---|---|
component-scan 관해서 (0) | 2017.11.16 |
HandlerMethodArgumentResolver (0) | 2017.07.11 |