@Resource
private PlatformTransactionManager transactionManager;
@RequestMapping("/save")
@ResponseBody
public String save(@Validated BaseSetting info) {
DefaultTransactionDefinition defaultTransactionDefinition = new DefaultTransactionDefinition();
defaultTransactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(defaultTransactionDefinition);
try {
serviceA.save(A);
serviceB.save(B);
...
transactionManager.commit(status);
} catch (Exception e) {
transactionManager.rollback(status);
e.printStackTrace();
log.error("sava *** error" + e.toString());
return ERROR(e.toString());
}
return OK();
}