多单据循环保存事务示例
核心类:
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);
}
欢迎好评!