Spring 3.0 여러 사무 관리 자 를 설정 하 는 방법
1958 단어 Spring트 랜 잭 션 관리자
대부분의 항목 은 하나의 사무 관리자 만 필요 합 니 다.그러나 일부 항목 은 효율 을 높이 거나 전혀 다 르 고 상 관 없 는 데이터 소스 가 여러 개 있 기 위해 서 는 여러 개의 사무 관리 자 를 사용 하 는 것 이 좋다.슬기 로 운 Spring 의 Transactional 관 리 는 이 점 을 고려 하여 먼저 여러 개의 transactional manager 를 정의 하고 qualifier 속성 에 서로 다른 값 을 지정 합 니 다.그리고@Transactional 주 해 를 사용 해 야 할 때 TransactionManager 의 qualifier 속성 값 을 지정 하거나 bean 이름 을 직접 사용 합 니 다.설정 과 코드 사용 예:
<tx:annotation-driven/>
<bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="datasource1"></property>
<qualifier value="datasource1Tx"/>
</bean>
<bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="datasource2"></property>
<qualifier value="datasource2Tx"/>
</bean>
사용 시@Transactional("datasource1Tx")과@Transactional("datasource2tx")을 사용 하여 특정한 사무 관리 자 를 구체 적 으로 사용 하 는 것 을 구별 합 니 다.
public class TransactionalService {
@Transactional("datasource1Tx")
public void setSomethingInDatasource1() { ... }
@Transactional("datasource2Tx")
public void doSomethingInDatasource2() { ... }
}
또는 transactin manager 의 bean 이름 을 직접 사용 합 니 다:@Transactional("transactionManager1")
@Transactional()을 사용 하면 결 성 된 transaction mananger 이름,즉@Transactional("transactionManager")을 사용 하 는 것 과 같 습 니 다.
참고:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#tx-multiple-tx-mgrs-with-attransactional
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.