java/Transaction

TransactionManager,PlatformTransactionManager,DataSourceTransactionManager

내가 만드는게 길이 된다 2023. 11. 20. 11:20
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());

'java > Transaction' 카테고리의 다른 글

Transaction  (0) 2023.08.21