<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

+ Recent posts