多单据循环保存事务示例

核心类:

import uap.mw.trans.TransactionFactory;

应用示例:

for (AbstractAggBill aggvo  : billvos) {
    String key=aggvo.getPrimaryKey();
    logvo.setBillInfo(getVoInfo(aggvo));
    logvo.setPrimarykey(key);
    //新起一个事务
    TransactionFactory.getTMProxy().begin(3, 0);        
    try {             
	AbstractAggBill newVo = updateData(aggvo);
	logvo.setStatus(true);
	logvo.setMessage("成功");
	//正常提交
	TransactionFactory.getTMProxy().end(null);
    } catch (Exception e) {
	try {
	    ExceptionUtils.marsh(e);
	} catch (Exception exception) {		  
	    logvo.setStatus(false);
	    logvo.setMessage(String.format("修改%s数据失败, 异常信息:%s ",key , exception.getMessage()));
	    //异常时事务回滚
	    TransactionFactory.getTMProxy().end(exception);
	    Logger.error("Message send error :", exception);
	}
    }
    logList.add(logvo);
}

 

posted @ 2025-09-05 08:42  山䂥进城  阅读(6)  评论(0)    收藏  举报