TransactionManager(IF)
>> PlatformTransactionManager(IF) extends TransactionManager
>> ResourceTransactionManager(IF) extends PlatformTransactionManager
>> AbstractPlatformTransactionManager(ABS) implements PlatformTransactionManager, Serializable
>> DataSourceTransactionManager(CLS) extends AbstractPlatformTransactionManager
implements ResourceTransactionManager, InitializingBean
빈등록 예)
@Bean
@Qualifier("transactionManagerOracle")
public DataSourceTransactionManager transactionManagerOracle(){
System.out.println("oracle >> transactionManagerOracle");
DataSourceTransactionManager managerOracle = new DataSourceTransactionManager(dataSourceOracle());
return managerOracle;
}
사용 예)
@Service("jobSyncBiz")
public class JobSyncBiz {
//빨리 끝나는 업무 : 동기
private Logger logger = LoggerFactory.getLogger(ClassName.class);
@Autowired
private FileServiceImpl fileServiceImpl;
@Transactional(value="transactionManagerOracle", propagation = Propagation.REQUIRED, rollbackFor = {Exception.class})
public void saveFileInfo(int aNum) throws Exception {
logger.info("[saveFileInfo===>실행 시작] : {}", JobDateUtil.getDateTime());