No transaction aspect-managed TransactionStatus in scope

发布时间 2023-05-05 10:46:44作者: Change你所当然

方法或内部方法未被事务覆盖或不在事务作用域里面或方法超时未处理

1、@Transactional(rollbackFor = RuntimeException.class) 增加异常回滚或增加try catch异常捕获

2、设置超时时间,对于报错的代码,也可以使用异步方法执行并加上@Transactional(propagation = Propagation.REQUIRES_NEW)

 

    @GetMapping("/rpaCron")
    @Transactional(rollbackFor = RuntimeException.class)
    public void rpaCron(){
       。。。
       this.sendAndCallBack(entity,client,map);
    }

    public void sendAndCallBack(RpaCroEntity entity,SocketIOClient client,Map<String,Object> map){
        try {
            String taskId = entity.getId();
            client.sendEvent("UIAUTO_EXECUTE",new AckCallback<Map>(Map.class,30){//设置30秒超时
                @Override
                public void onSuccess(Map result) {
             。。。 } },map); } catch (Exception e) {       //异常处理 } }