본문 바로가기
백엔드/Java

다중 transactionManager

by david100gom 2024. 3. 20.
- 방법 1
<tx:annotation-driven />
<bean id=”transactionManager”
        class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”
        p:dataSource-ref=”dataSource1”/>
 
<bean id=”txManager2”
        class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”
        p:dataSource-ref=”dataSource2”/>
그리고 Service 클래스의 메서드에 선언된 @Transactional 부분도
명시적으로 트랜잭션 매니져를 설정 해야 합니다.
 
※ “transactionManager” 빈 아이디를 사용할 경우 지정할 필요가 없습니다.
@Transactional
public void createDatasource1() {
   //logic….
}
 
@Transactional(value=”txManager2”)
public void createDatasource2() {
   //logic….
}
 
  
  
  
- 방법2
<tx:annotation-driven transaction-manager=”txManager1" />
<bean id=”txManager1”
        class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”
        p:dataSource-ref=”dataSource1”/>
 
<bean id=”txManager2”
        class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”
        p:dataSource-ref=”dataSource2”/>
 
 
@Transactional(value=”txManager1”)
public void createDatasource1() {
   //logic….
}
 
@Transactional(value=”txManager2”)
public void createDatasource2() {
   //logic….
}

'백엔드 > Java' 카테고리의 다른 글

look like  (0) 2024.03.21
스프링 RestuFul API 에서 PUT / DELETE 메소드 가능하게 하는방법  (0) 2024.03.20
RestFul URL 패턴 주의점.  (0) 2024.03.20
메세지 컨버터  (0) 2024.03.20
Spring AOP  (0) 2024.03.20
Spring @Scheduled 사용시  (0) 2024.03.20
Filter 와 Interceptor  (0) 2024.03.20
멀티스레드 환경에서의 Thread-safe 테스트  (0) 2024.03.20

댓글