1.각각 다른 datasource를 생성한다.
2.Spring Config에서
@EnableTransactionManagement 또는 @EnableAspectJAutoProxy를 사용.
@EnableAspectJAutoProxy 일 경우 transactionManager라는 transaction manager가 설정되어야 한다.
3.TransactionSynchronizationManager 를 사용한다.
설정 : SpringAppConfig.java
@Configuration
@ImportResource({“classpath:/config/spring/.xml”})
@EnableTransactionManagement
public class SpringAppConfig {
}
사용 : WizDao.java
@Repository public class WizDao { @Autowired @Qualifier("masterSqlSession") private SqlSession masterSqlSession; @Autowired @Qualifier("slaveSqlSession") private SqlSession slaveSqlSession; ... private SqlSession getSession() { boolean txReadOnly = TransactionSynchronizationManager.isCurrentTransactionReadOnly(); if(txReadOnly) { return slaveSqlSession; } else { returnmasterSqlSession; } } }