프로그래밍/Spring

XML에서 트랜잭션 선언

guitarhero 2013. 4. 2. 16:40
728x90

스프링 초기의 트랜잭션 선언은 TransactionProxyFactoryBean이라는 설정이 포함되었지만 지금은 이제 스프링이 tx 설정 네임스페이스를 제공하여 스프링에서의 트랜잭션이 단순화되었다.

 

설정 파일에 tx 네임스페이스를 추가해야되고 aop설정도 추가해야된다.

 

tx 네임스페이스는 여러가지 XML 엘리먼트를 갖고 있는데, 그중에 <tx:advice> 엘리먼트가 가장 중요하다.

 

<tx:advice id="txAdvice">

<tx:attributes>

<tx:method name="save*" propagation="REQUIRED"/>

<tx:method name="*" propagation="SUPPORTS" read-only="true"/>

</tx:attributes>

</tx:advice>

 

<tx:advice>에는 하나 이상의 <tx:method > 엘리먼트를 갖는 <tx:attributes>에 트랜잭션 특성이 정의 된다.

<tx:method > 엘리먼트는 name 애트리뷰트로 지정한 메소드에 트랜잭션 특성을 부여한다(와일드카드를 이용하여).

 

isolation : 트랜젝션 격리 수준

propagation : 트랜잭션의 전파규칙 정의

read-only : 트랜잭션을 읽기 전용으로 지정

 

Rollback rules

rollback-for      : 트랜잭션이 커밋되지 않고 롤백야 할 검사형 예외를 지정

no-rollback-for   트랜잭션이 롤백되지 않고 계속 진행돼야 할 예외를 지정

 

timeout : 트랜잭션 타임아웃 시간을 지정

 

 

 

-Spring in Action 참고 정리-  to be continued...

 

 

 

 

 

 

 

 

 

728x90

'프로그래밍 > Spring' 카테고리의 다른 글

[AOP]Aop사용시 추가사항  (0) 2017.10.27
Spirng MVC 뷰 리졸빙  (0) 2013.04.03
스프링 MVC를 이용한 요청 추적  (0) 2013.04.02