(List<DefaultTransactionStatus>) status.getTransaction();
logger.info("prepare to commit transactions on multiple data sources.");
Validate.isTrue(list.size() <= this.getTransactionManagers().size());
TransactionException lastException = null;
for(int i=list.size()-1; i>=0;i--){
PlatformTransactionManager transactionManager=this.getTransactionManagers().get(i);
TransactionStatus localTransactionStatus=list.get(i);
try{