사용자 도구

사이트 도구


springframework:javaconfig:enabletransactionmanagement

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
springframework:javaconfig:enabletransactionmanagement [2015/07/08 17:51]
kwon37xi
springframework:javaconfig:enabletransactionmanagement [2015/10/12 17:05] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Spring Framework @EnableTransactionManagement ====== ====== Spring Framework @EnableTransactionManagement ======
 +  * [[springframework:transaction|Spring Transaction]]
   * [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/annotation/EnableTransactionManagement.html|@EnableTransactionManagement]]   * [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/annotation/EnableTransactionManagement.html|@EnableTransactionManagement]]
   * [[springframework:javaconfig|Springframework Java Config]]로 애노테이션 기반 트랜잭션을 활성화 한다.   * [[springframework:javaconfig|Springframework Java Config]]로 애노테이션 기반 트랜잭션을 활성화 한다.
-  * ''@Transactional''에서 트랜잭션 매니저를 지정하지 않아도 XML 기반은 기본으로 ''transactionManager''를 디폴트 트랜잭션 매니저로 지정하지만 Java Config를 사용할 때는 모든 [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/PlatformTransactionManager.html|PlatformTransactionManager]] 인스턴스를 찾아서 그 중에 하나를 매핑한다. 
  
-  * 경고 : Spring 4.1.4 미만 버전의 경우 **TransactionManagementConfigurer로 기본 Transaction Manager를 지정하면 @Transaction(value="다른트랜잭션매니저") 로 명시한 경우에도 무시하고 기본 Transaction Manager를 사용하는 버그가 있다.** + 
-    * [[https://jira.spring.io/browse/SPR-12541|[SPR-12541] @Transactional qualifier is ignored by TransactionAspectSupport if default transaction manager is set - Spring JIRA]]+경고 : Spring 4.1.4 미만 버전의 경우 **TransactionManagementConfigurer로 기본 Transaction Manager를 지정하면 @Transactional(value="다른트랜잭션매니저") 로 명시한 경우에도 무시하고 기본 Transaction Manager를 사용하는 버그가 있다.** 우회책으로 **@Primary**를 사용하면 된다. 
 +[[https://jira.spring.io/browse/SPR-12541|[SPR-12541] @Transactional qualifier is ignored by TransactionAspectSupport if default transaction manager is set - Spring JIRA]] 
 +> 4.1.4 버전에도 [[https://jira.spring.io/browse/SPR-12577|트랜잭션 관련 버그]]가 존재하기 때문에 4.1.5 이상 버전 사용할 것 
 + 
 +  * ''@Transactional''에서 트랜잭션 매니저를 지정하지 않아도 XML 기반은 기본으로 ''transactionManager''를 디폴트 트랜잭션 매니저로 지정하지만 Java Config를 사용할 때는 모든 [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/PlatformTransactionManager.html|PlatformTransactionManager]] 인스턴스를 찾아서 그 중에 하나를 매핑한다.
   * 따라서 특정 트랜잭션 매니저를 디폴트로 지정하고자 한다면 Java Config 클래스가 [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/annotation/TransactionManagementConfigurer.html|TransactionManagementConfigurer]] 인터페이스를 구현하고 ''annotationDrivenTransactionManager''를 구현해서 트랜잭션 매니저를 리턴해주면 해당 매니저를 사용하게 된다.<code java>   * 따라서 특정 트랜잭션 매니저를 디폴트로 지정하고자 한다면 Java Config 클래스가 [[http://docs.spring.io/spring/docs/3.2.x/javadoc-api/org/springframework/transaction/annotation/TransactionManagementConfigurer.html|TransactionManagementConfigurer]] 인터페이스를 구현하고 ''annotationDrivenTransactionManager''를 구현해서 트랜잭션 매니저를 리턴해주면 해당 매니저를 사용하게 된다.<code java>
 @Configuration @Configuration
springframework/javaconfig/enabletransactionmanagement.1436345491.txt.gz · 마지막으로 수정됨: 2015/07/08 17:51 저자 kwon37xi