springboot 将大事务拆分为小事务
我们之前做事务管理都是添加@Transactional,但是这个注解只能加在类和方法上,对于方法比较大,但是只有其中部分代码我们需要做事务管理时可以使用。transactionManager。@Autowiredprivate TransactionTemplate transactionTemplate;@Overridepublic ChannelAddResponse add(Channel
·
我们之前做事务管理都是添加@Transactional,但是这个注解只能加在类和方法上,对于方法比较大,但是只有其中部分代码我们需要做事务管理时可以使用。transactionManager。
@Autowired
private TransactionTemplate transactionTemplate;
@Override
public ChannelAddResponse add(ChannelAddRequest channelAddRequest) {
transactionTemplate.execute(action ->{
TaskDO taskDO = new TaskDO();
CopyParamNotNullUtil.copyPropertiesIgnoreNull(channelAddRequest, taskDO);
taskDO.setStatus(TaskStatusEnum.UNEXECUTED.getStatus());
taskDao.save(taskDO);
ChannelDO channelDO = new ChannelDO();
channelDO.setTaskDO(taskDO);
CopyParamNotNullUtil.copyPropertiesIgnoreNull(channelAddRequest, channelDO);
channelDao.save(channelDO);
return null;
});
}
这样就事务就和方法解柔了。
更多推荐
已为社区贡献1条内容
所有评论(0)