@At("/addDo")
@Ok("json")
@RequiresPermissions("sys.manager.task.add")
@AdaptBy(type= JsonAdaptor.class)
@Aop(TransAop.READ_COMMITTED)
public Object addDo( @Param("..") NutMap para) {
String strJson = JSON.toJSONString(para);
Sys_task task = (Sys_task) JSON.parseObject(strJson, Sys_task.class);
task.setOpBy(StringUtil.getPlatformUid());
Sys_task sysTask = sysTaskService.insert(task);
taskPlatformService.add(sysTask.getId(), sysTask.getId(), sysTask.getJobClass(), sysTask.getCron(),
sysTask.getNote(), sysTask.getData());
return Result.success();
}
问答
@Aop(TransAop.READ_COMMITTED) 想问一下这个事物可不可以用在controller层,加完后事物没生效
标签:
无
18 回复
@wendal 因为前端是Request Payload 的方式传参 所以@Param("..")Sys_task task这样接收不到 之前有试过的
{id: "487d90f5893f48dd9c782ed9885118e5", name: "dsfd",…}
发的是json
发现要加: @AdaptBy(type= JsonAdaptor.class)这个 然后要@Param("..") NutMap para才可以接收解析到
@wendal 之前测过几次真的NutMap才接的到 还是先聊紧急的吧 那个事物不生效 在controller层
不跨进程的话 Trans.exec和@Aop(TransAop.READ_COMMITTED)
都没问题, 跨进程还需要事务, 就得用seate之类的分布式事务了
dubbo代理的对象调用就是跨进程咯
service层行不行, 依然取决于是否跨进程了
@wendal 我们现在遇到一个改造项目要拆成分布式的 但是之前的代码的事物都是写在controller层的 想问下用没有什么解决办法 不然工作量会非常大
@wendal 好的我来试试seata 感谢支持
添加回复
请先登陆